
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_layout(Sized_relobj_file<64,_false> * this, Symbol_table *
   symtab, Layout * layout, Read_symbols_data * sd) */

void __thiscall
gold::Sized_relobj_file<64,_false>::do_layout
          (Sized_relobj_file<64,_false> *this,Symbol_table *symtab,Layout *layout,
          Read_symbols_data *sd)

{
  _Rb_tree_header *p_Var1;
  _Base_ptr *pp_Var2;
  char cVar3;
  uint uVar4;
  Elf_Word EVar5;
  uint uVar6;
  Plugin_manager *pPVar7;
  Input_file *this_00;
  iterator __position;
  pointer pDVar8;
  Compressed_section_map *pCVar9;
  _Base_ptr p_Var10;
  Garbage_collection *pGVar11;
  _Base_ptr p_Var12;
  pointer ppOVar13;
  pointer puVar14;
  pointer puVar15;
  pointer pDVar16;
  pointer ppOVar17;
  File_view *pFVar18;
  pointer pcVar19;
  pointer pcVar20;
  _func_int_varargs *p_Var21;
  undefined8 uVar22;
  undefined8 uVar23;
  undefined8 uVar24;
  bool bVar25;
  bool bVar26;
  bool bVar27;
  Parameters *pPVar28;
  Shdr SVar29;
  off_t oVar30;
  bool bVar31;
  int iVar32;
  void *pvVar33;
  void *pvVar34;
  Read_symbols_data *format;
  size_t sVar35;
  ulong *puVar36;
  iterator iVar37;
  General_options *pGVar38;
  __node_base *p_Var39;
  __node_type *__node;
  ulong uVar40;
  char *pcVar41;
  pointer pDVar42;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar43;
  Relocatable_relocs *rr;
  Output_section *pOVar44;
  Relobj *pRVar45;
  char *pcVar46;
  byte bVar47;
  long lVar48;
  _Base_ptr p_Var49;
  _Base_ptr p_Var50;
  allocator<char> *extraout_RDX;
  allocator<char> *extraout_RDX_00;
  allocator<char> *__a;
  allocator<char> *__a_00;
  allocator<char> *__a_01;
  allocator<char> *extraout_RDX_01;
  pointer pDVar51;
  allocator<char> *extraout_RDX_02;
  allocator<char> *extraout_RDX_03;
  allocator<char> *extraout_RDX_04;
  allocator<char> *extraout_RDX_05;
  ulong uVar52;
  ulong uVar53;
  const_iterator __pos;
  Shdr_data<64> *pSVar54;
  pointer puVar55;
  uint *puVar56;
  uint uVar57;
  byte *pbVar58;
  byte *name;
  size_type __n;
  Sized_relobj_file<64,_false> *pSVar59;
  size_type __n_00;
  byte *pbVar60;
  Elf_WXword sh_size;
  uint uVar61;
  pointer pDVar62;
  uint uVar63;
  uint uVar64;
  _Base_ptr p_Var65;
  ulong uVar66;
  Shdr_data<64> *pSVar67;
  bool bVar68;
  bool bVar69;
  bool bVar70;
  byte bVar71;
  Section_id SVar72;
  _Bvector_base<std::allocator<bool>_> *local_270;
  Symbols_data *local_240;
  uint64_t local_238;
  bool local_230;
  section_size_type local_228;
  Read_symbols_data *local_220;
  Incremental_inputs *local_210;
  section_size_type local_200;
  File_view *local_1f8;
  uchar *local_1f0;
  ulong local_1c8;
  Read_symbols_data *local_1c0;
  Shdr_data<64> *local_1a0;
  tuple<> local_18d;
  uint i;
  Shdr shdr;
  _Head_base<0,_const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&,_false>
  local_180;
  vector<unsigned_int,_std::allocator<unsigned_int>_> reloc_sections;
  vector<unsigned_int,_std::allocator<unsigned_int>_> eh_frame_sections;
  vector<unsigned_int,_std::allocator<unsigned_int>_> debug_info_sections;
  vector<unsigned_int,_std::allocator<unsigned_int>_> debug_types_sections;
  Shdr shdr_2;
  undefined1 auStack_e8 [16];
  vector<bool,_std::allocator<bool>_> omit;
  off_t offset;
  uint local_a0;
  undefined4 uStack_9c;
  undefined1 auStack_98 [20];
  undefined8 local_84;
  uchar local_7c [4];
  uint uStack_78;
  Elf_WXword EStack_74;
  Elf_Addr local_6c;
  Elf_Off EStack_64;
  Elf_WXword local_5c;
  undefined8 uStack_54;
  Elf_WXword local_4c;
  Elf_WXword EStack_44;
  
  bVar71 = 0;
  if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x69,"target");
  }
  pGVar38 = parameters->options_;
  uVar57 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_;
  uVar4 = *(uint *)(*(long *)(parameters->target_ + 8) + 0x7c);
  if (pGVar38 == (General_options *)0x0) goto LAB_001db857;
  if ((pGVar38->gc_sections_).value == false) {
    if (pGVar38->icf_status_ == ICF_NONE) {
      if (layout->unique_segment_for_sections_specified_ == false) {
        if (uVar57 == 0) {
          return;
        }
        local_1c8 = sd->section_names_size;
        local_1f0 = sd->section_headers->data_;
        local_1f8 = sd->symbols;
        if (local_1f8 != (File_view *)0x0) {
          local_1f8 = (File_view *)local_1f8->data_;
        }
        local_200 = sd->symbols_size;
        local_220 = (Read_symbols_data *)sd->symbol_names;
        if (local_220 != (Read_symbols_data *)0x0) {
          local_220 = (Read_symbols_data *)local_220->section_names_size;
        }
        bVar25 = false;
        bVar26 = false;
        local_228 = sd->symbol_names_size;
        local_240 = (Symbols_data *)0x0;
        local_1c0 = (Read_symbols_data *)sd->section_names->data_;
        bVar27 = false;
        format = sd;
        goto LAB_001da266;
      }
      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;
      if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;
    }
    else {
      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;
      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;
    }
  }
  else {
    local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;
    if (local_240 != (Symbols_data *)0x0) {
      if (symtab->gc_->is_worklist_ready_ == false) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");
      }
      if (pGVar38->icf_status_ != ICF_NONE) {
LAB_001db71f:
        if (symtab->icf_->icf_ready_ == false) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");
        }
      }
LAB_001da1f0:
      if (uVar57 == 0) {
        return;
      }
      bVar25 = true;
      bVar26 = true;
      local_1f0 = local_240->section_headers_data;
      local_1f8 = (File_view *)local_240->symbols_data;
      bVar27 = false;
      local_200 = local_240->symbols_size;
      local_1c8 = local_240->section_names_size;
      local_228 = local_240->symbol_names_size;
      local_220 = (Read_symbols_data *)local_240->symbol_names_data;
      local_1c0 = (Read_symbols_data *)local_240->section_names_data;
      format = local_220;
      goto LAB_001da266;
    }
  }
  if (sd == (Read_symbols_data *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/object.cc",0x597,"do_layout");
  }
  if (uVar57 == 0) {
    return;
  }
  local_240 = (Symbols_data *)operator_new(0x40);
  Relobj::copy_symbols_data((Relobj *)this,local_240,sd,uVar57 << 6);
  local_1f0 = local_240->section_headers_data;
  (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = local_240;
  local_1f8 = (File_view *)local_240->symbols_data;
  local_1c8 = local_240->section_names_size;
  local_200 = local_240->symbols_size;
  local_220 = (Read_symbols_data *)local_240->symbol_names_data;
  pGVar38 = parameters->options_;
  local_228 = local_240->symbol_names_size;
  local_1c0 = (Read_symbols_data *)local_240->section_names_data;
  if (pGVar38 == (General_options *)0x0) {
LAB_001db857:
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
  bVar25 = true;
  bVar26 = false;
  bVar27 = true;
  format = local_1c0;
LAB_001da266:
  pPVar7 = pGVar38->plugins_;
  bVar47 = 0;
  if ((pPVar7 != (Plugin_manager *)0x0) && (bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false)) {
    bVar47 = pPVar7->in_replacement_phase_ ^ 1;
  }
  uVar66 = (ulong)uVar57;
  pvVar33 = operator_new(uVar66 * 4);
  uVar52 = 0;
  do {
    uVar53 = uVar52;
    uVar52 = uVar53 + 1;
    *(undefined4 *)((long)pvVar33 + uVar53 * 4) = 0;
  } while (uVar66 != uVar52);
                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */
  pvVar34 = operator_new(uVar66 * 4);
  iVar32 = (int)format;
  uVar40 = 0;
  do {
    *(undefined4 *)((long)pvVar34 + uVar40 * 4) = 0;
    bVar69 = uVar53 != uVar40;
    uVar40 = uVar40 + 1;
  } while (bVar69);
  pSVar54 = (Shdr_data<64> *)(local_1f0 + 0x40);
  if (uVar57 < 2) {
    uVar64 = 0;
  }
  else {
    uVar63 = 1;
    uVar64 = 0;
    local_1a0 = pSVar54;
    do {
      if (bVar47 != 0) {
        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);
      }
      EVar5 = local_1a0->sh_type;
      if ((EVar5 == 9) || (EVar5 == 4)) {
        uVar61 = local_1a0->sh_info;
        if (0xfeff < uVar61) {
                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */
          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);
          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;
        }
        uVar40 = (ulong)uVar61;
        if ((uVar61 == 0) || (uVar57 <= uVar61)) {
          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");
          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);
        }
        else {
          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);
          if (*puVar56 == 0) {
            *puVar56 = uVar63;
            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;
          }
          else {
            *puVar56 = 0xffffffff;
          }
        }
      }
      iVar32 = (int)format;
      uVar63 = uVar63 + 1;
      local_1a0 = local_1a0 + 1;
    } while (uVar63 != uVar57);
  }
  if (!bVar26) {
    ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
               _M_impl._M_finish;
    ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
               _M_impl._M_start;
    uVar40 = (long)ppOVar13 - (long)ppOVar17 >> 3;
    if (uVar40 < uVar52) {
      __n = uVar52 - uVar40;
      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append
                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);
      iVar32 = (int)__n;
    }
    else if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {
      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish = ppOVar17;
    }
    puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.
              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
              _M_finish;
    puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.
              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
              _M_start;
    uVar40 = (long)puVar14 - (long)puVar15 >> 3;
    if (uVar40 < uVar52) {
      __n_00 = uVar52 - uVar40;
                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */
      std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append
                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);
      iVar32 = (int)__n_00;
    }
    else if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {
      (this->super_Sized_relobj<64,_false>).section_offsets_.
      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =
           puVar15;
    }
  }
  this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.input_file_;
  if (this_00 == (Input_file *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */
    Object::input_file((Object *)0x0);
  }
  local_230 = Input_file::just_symbols(this_00);
  if (local_230) {
    if (!bVar26) {
      pFVar18 = sd->section_headers;
      if (pFVar18 != (File_view *)0x0) {
        File_view::~File_view(pFVar18,iVar32);
        iVar32 = 0x18;
        operator_delete(pFVar18,0x18);
      }
      pFVar18 = sd->section_names;
      sd->section_headers = (File_view *)0x0;
      if (pFVar18 != (File_view *)0x0) {
        File_view::~File_view(pFVar18,iVar32);
        operator_delete(pFVar18,0x18);
      }
      sd->section_names = (File_view *)0x0;
    }
  }
  else {
    if (uVar64 != 0) {
      if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
      }
      pPVar7 = parameters->options_->plugins_;
      __position._M_current =
           (pPVar7->deferred_layout_objects_).
           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;
      shdr.p_ = (Shdr_data<64> *)this;
      if (__position._M_current ==
          (pPVar7->deferred_layout_objects_).
          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.
          _M_end_of_storage) {
        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::
        _M_realloc_insert<gold::Relobj*_const&>
                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);
      }
      else {
        *__position._M_current = (Relobj *)this;
        (pPVar7->deferred_layout_objects_).
        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =
             __position._M_current + 1;
      }
      pDVar8 = (this->deferred_layout_).
               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
               ._M_impl._M_start;
      uVar52 = (ulong)uVar64;
      if ((ulong)(((long)(this->deferred_layout_).
                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <
          uVar52) {
        pDVar16 = (this->deferred_layout_).
                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                  ._M_impl._M_finish;
                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */
        pDVar42 = (pointer)operator_new(uVar52 * 0x70);
        if (pDVar8 != pDVar16) {
          paVar43 = &(pDVar8->name_).field_2;
          pDVar51 = pDVar42;
          do {
            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;
            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;
            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)pcVar19 == paVar43) {
              uVar23 = *(undefined8 *)((long)paVar43 + 8);
              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;
              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;
            }
            else {
              (pDVar51->name_)._M_dataplus._M_p = pcVar19;
              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;
            }
            pDVar62 = pDVar51 + 1;
            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);
            uVar64 = *(uint *)(paVar43 + 1);
            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;
            *(size_type *)((long)paVar43 + -8) = 0;
            paVar43->_M_local_buf[0] = '\0';
            pDVar51->shndx_ = uVar64;
            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);
            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);
            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);
            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);
            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;
            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);
            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);
            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;
            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);
            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);
            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;
            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);
            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);
            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;
            paVar43 = paVar43 + 7;
            pDVar51 = pDVar62;
          } while (pDVar62 !=
                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *
                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);
        }
        pDVar51 = (this->deferred_layout_).
                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                  ._M_impl._M_finish;
        pDVar62 = (this->deferred_layout_).
                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                  ._M_impl._M_start;
        if (pDVar51 != pDVar62) {
          do {
            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;
            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)pcVar19 != &(pDVar62->name_).field_2) {
              operator_delete(pcVar19);
            }
            pDVar62 = pDVar62 + 1;
          } while (pDVar51 != pDVar62);
          pDVar62 = (this->deferred_layout_).
                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                    ._M_impl._M_start;
        }
        if (pDVar62 != (pointer)0x0) {
          operator_delete(pDVar62);
        }
        (this->deferred_layout_).
        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
        ._M_impl._M_start = pDVar42;
        (this->deferred_layout_).
        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);
        (this->deferred_layout_).
        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
        ._M_impl._M_end_of_storage = pDVar42 + uVar52;
      }
      this->is_deferred_layout_ = true;
    }
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_offset = 0;
    uVar52 = uVar53 + 0x40 >> 6;
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;
    uVar53 = uVar52 * 8;
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_offset = 0;
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.
    _M_end_of_storage = (_Bit_pointer)0x0;
                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53);
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.
    _M_end_of_storage =
         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.
         super__Bit_iterator_base._M_p + uVar52;
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_offset = 0;
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_p =
         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.
         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6);
    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_offset = uVar57 & 0x3f;
    offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data
                    ._M_finish.super__Bit_iterator_base._M_p;
    local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.
               _M_finish.super__Bit_iterator_base._M_offset;
    memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start
           .super__Bit_iterator_base._M_p,0,uVar53);
    pGVar38 = parameters->options_;
    if (pGVar38 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
    bVar69 = (pGVar38->relocatable_).value;
    cVar3 = bVar69;
    if (bVar69 == false) {
      cVar3 = (pGVar38->emit_relocs_).value;
    }
    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
         = (pointer)0x0;
    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish
         = (pointer)0x0;
    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_start = (pointer)0x0;
    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_finish = (pointer)0x0;
    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_start = (pointer)0x0;
    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_finish = (pointer)0x0;
    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_start = (pointer)0x0;
    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_finish = (pointer)0x0;
    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    i = 1;
    if (uVar57 < 2) {
      local_238 = 0;
      __a = extraout_RDX_00;
LAB_001da530:
      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;
      if (!bVar26) {
                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */
        Layout::merge_gnu_properties(layout,(Object *)this);
        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);
        __a = extraout_RDX;
      }
      if (bVar27) {
        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_start !=
            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_finish) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");
        }
      }
      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
               _M_impl._M_start !=
               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
               _M_impl._M_finish) {
        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                  _M_impl._M_start;
        do {
          uVar4 = *puVar55;
          offset = (off_t)(local_1f0 + (uVar4 << 6));
          layout_eh_frame_section
                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,
                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),
                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));
          puVar55 = puVar55 + 1;
          __a = extraout_RDX_01;
        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                 _M_impl._M_finish != puVar55);
      }
      if (cVar3 != '\0') {
                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */
        Relobj::size_relocatable_relocs((Relobj *)this);
        __a = extraout_RDX_05;
      }
      pSVar59 = (Sized_relobj_file<64,_false> *)
                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                _M_impl._M_start;
      if (bVar25) {
        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_start !=
            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_finish) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");
        }
      }
      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
               _M_impl._M_start !=
               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
               _M_impl._M_finish) {
        local_1a0 = (Shdr_data<64> *)
                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                    _M_impl._M_start;
        do {
          uVar4 = local_1a0->sh_name;
          uVar52 = (ulong)uVar4;
          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));
          uVar64 = pSVar54->sh_info;
          shdr_2.p_ = pSVar54;
          if (0xfeff < uVar64) {
            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);
            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;
            __a = extraout_RDX_02;
          }
          if (uVar64 < uVar57) {
            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                       ._M_impl._M_start;
            pOVar44 = ppOVar17[uVar64];
            if (pOVar44 == (Output_section *)0x2) {
              if (!bVar26) {
                EVar5 = (shdr_2.p_)->sh_type;
                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                             &offset,(char *)((long)&local_1c0->section_headers +
                                             (ulong)(shdr_2.p_)->sh_name),__a);
                local_84._0_4_ = 0;
                local_84._4_4_ = 0;
                uVar24._0_4_ = pSVar54->sh_name;
                uVar24._4_4_ = pSVar54->sh_type;
                EStack_74 = pSVar54->sh_flags;
                local_6c = pSVar54->sh_addr;
                EStack_64 = pSVar54->sh_offset;
                local_5c = pSVar54->sh_size;
                uStack_54 = *(undefined8 *)&pSVar54->sh_link;
                local_4c = pSVar54->sh_addralign;
                EStack_44 = pSVar54->sh_entsize;
                local_7c = SUB84(uVar24,0);
                uStack_78 = EVar5;
                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;
                auStack_98._16_4_ = uVar4;
                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */
                std::
                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>
                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);
                __a = extraout_RDX_03;
                if ((undefined1 *)offset != auStack_98) {
                  operator_delete((void *)offset);
                  __a = extraout_RDX_04;
                }
                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                _M_impl._M_start[uVar52] = (Output_section *)0x2;
                (this->super_Sized_relobj<64,_false>).section_offsets_.
                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                _M_start[uVar52] = 0xffffffffffffffff;
              }
            }
            else if (pOVar44 == (Output_section *)0x0) {
              ppOVar17[uVar52] = (Output_section *)0x0;
              (this->super_Sized_relobj<64,_false>).section_offsets_.
              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
              _M_start[uVar52] = 0xffffffffffffffff;
            }
            else {
              rr = (Relocatable_relocs *)operator_new(0x28);
              (rr->reloc_strategies_).
              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =
                   (pointer)0x0;
              (rr->reloc_strategies_).
              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =
                   (pointer)0x0;
              (rr->reloc_strategies_).
              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.
              _M_end_of_storage = (pointer)0x0;
              rr->output_reloc_count_ = 0;
              rr->posd_ = (Output_data *)0x0;
              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");
              }
              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->
              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>
              )._M_impl._M_start[uVar52] = rr;
              pSVar59 = this;
              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);
              __a = (allocator<char> *)
                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
              *(Output_section **)(__a + uVar52 * 8) = pOVar44;
              (this->super_Sized_relobj<64,_false>).section_offsets_.
              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
              _M_start[uVar52] = 0xffffffffffffffff;
            }
          }
          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);
        } while ((Shdr_data<64> *)
                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                 _M_impl._M_finish != local_1a0);
      }
      uVar57 = (uint)pSVar59;
      if (bVar27) {
        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
             _M_impl._M_finish !=
             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
             _M_impl._M_start) ||
           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_finish !=
            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_start)) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");
        }
      }
      else {
        puVar55 = debug_info_sections.
                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;
        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_finish !=
            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_start) {
          do {
            uVar4 = *puVar55;
            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);
                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */
            Layout::add_to_gdb_index<64,_false>
                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,
                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));
            puVar55 = puVar55 + 1;
          } while (debug_info_sections.
                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish
                   != puVar55);
        }
        puVar56 = debug_types_sections.
                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;
        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_start !=
            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
            _M_impl._M_finish) {
          do {
            uVar4 = *puVar56;
            uVar57 = 1;
            Layout::add_to_gdb_index<64,_false>
                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200
                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),
                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));
            puVar56 = puVar56 + 1;
          } while (debug_types_sections.
                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish
                   != puVar56);
        }
      }
      if (bVar26) {
        if (local_240->section_headers_data != (uchar *)0x0) {
          operator_delete__(local_240->section_headers_data);
        }
        if (local_240->section_names_data != (uchar *)0x0) {
          operator_delete__(local_240->section_names_data);
        }
        if (local_240->symbols_data != (uchar *)0x0) {
          operator_delete__(local_240->symbols_data);
        }
        if (local_240->symbol_names_data != (uchar *)0x0) {
          operator_delete__(local_240->symbol_names_data);
        }
        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;
      }
      else {
        pFVar18 = sd->section_headers;
        if (pFVar18 != (File_view *)0x0) {
          File_view::~File_view(pFVar18,uVar57);
          uVar57 = 0x18;
          operator_delete(pFVar18,0x18);
        }
        pFVar18 = sd->section_names;
        sd->section_headers = (File_view *)0x0;
        if (pFVar18 != (File_view *)0x0) {
          File_view::~File_view(pFVar18,uVar57);
          operator_delete(pFVar18,0x18);
        }
        sd->section_names = (File_view *)0x0;
      }
      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
          _M_impl._M_start != (pointer)0x0) {
        operator_delete(debug_types_sections.
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_start);
      }
      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
          _M_impl._M_start != (pointer)0x0) {
        operator_delete(debug_info_sections.
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_start);
      }
      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
          _M_start != (pointer)0x0) {
        operator_delete(eh_frame_sections.
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_start);
      }
      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
          _M_start != (pointer)0x0) {
        operator_delete(reloc_sections.
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_start);
      }
      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);
      operator_delete(pvVar34);
      operator_delete(pvVar33);
      return;
    }
    uVar64 = *(uint *)(local_1f0 + 0x44);
    uVar52 = (ulong)*(uint *)(local_1f0 + 0x40);
    shdr.p_ = pSVar54;
    if (uVar52 < local_1c8) {
      __a = (allocator<char> *)0x1;
      local_238 = 0;
      do {
        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;
        name = (byte *)((long)&local_1c0->section_headers + uVar52);
        shdr.p_ = pSVar54;
        if (bVar26) {
LAB_001da9c0:
          if (bVar27) {
            if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->gc_sections_).value != false) {
              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);
                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */
              if (((bVar31) ||
                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))
                 || (uVar64 - 0xe < 2)) {
                local_a0 = i;
                offset = (off_t)this;
                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */
                std::
                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>
                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>
                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);
              }
              sVar35 = strspn((char *)name,
                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");
              uVar63 = i;
              if (name[sVar35] == 0) {
                pGVar11 = symtab->gc_;
                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                             &offset,(char *)name,__a_00);
                oVar30 = offset;
                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.
                          _M_parent;
                __pos._M_node =
                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;
                shdr_2.p_ = (Shdr_data<64> *)this;
                if (p_Var12 == (_Base_ptr)0x0) {
LAB_001db58d:
                  local_180._M_head_impl =
                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;
                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */
                  local_1a0 = (Shdr_data<64> *)
                              std::
                              _Rb_tree<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>
                              ::
                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>
                                        (&(pGVar11->cident_sections_)._M_t,__pos,
                                         (piecewise_construct_t *)&std::piecewise_construct,
                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>
                                          *)&local_180,&local_18d);
                }
                else {
                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);
                  local_1a0 = (Shdr_data<64> *)__pos._M_node;
                  do {
                    while( true ) {
                      p_Var65 = p_Var12;
                      p_Var49 = p_Var65[1]._M_parent;
                      p_Var50 = p_Var10;
                      if (p_Var49 <= p_Var10) {
                        p_Var50 = p_Var49;
                      }
                      if ((p_Var50 != (_Base_ptr)0x0) &&
                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),
                         iVar32 != 0)) break;
                      lVar48 = (long)p_Var49 - (long)p_Var10;
                      if (lVar48 < 0x80000000) {
                        if (-0x80000001 < lVar48) {
                          iVar32 = (int)lVar48;
                          break;
                        }
                        goto LAB_001db4b0;
                      }
LAB_001db4fa:
                      p_Var12 = p_Var65->_M_left;
                      local_1a0 = (Shdr_data<64> *)p_Var65;
                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;
                    }
                    if (-1 < iVar32) goto LAB_001db4fa;
LAB_001db4b0:
                    p_Var12 = p_Var65->_M_right;
                  } while (p_Var65->_M_right != (_Base_ptr)0x0);
LAB_001db50a:
                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;
                  __pos._M_node = (_Base_ptr)local_1a0;
                  if (bVar31) goto LAB_001db58d;
                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;
                  p_Var50 = p_Var49;
                  if (p_Var10 <= p_Var49) {
                    p_Var50 = p_Var10;
                  }
                  if ((p_Var50 == (_Base_ptr)0x0) ||
                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),
                                      (size_t)p_Var50), iVar32 == 0)) {
                    lVar48 = (long)p_Var10 - (long)p_Var49;
                    if (lVar48 < 0x80000000) {
                      if (lVar48 < -0x80000000) goto LAB_001db58d;
                      iVar32 = (int)lVar48;
                      goto LAB_001db589;
                    }
                  }
                  else {
LAB_001db589:
                    if (iVar32 < 0) goto LAB_001db58d;
                  }
                }
                uVar66 = (ulong)uVar63 ^ (ulong)this;
                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;
                p_Var39 = std::
                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                          ::_M_find_before_node
                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);
                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))
                {
                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */
                  __node = (__node_type *)operator_new(0x20);
                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).
                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;
                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).
                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;
                  *(uint *)((long)&(__node->
                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>
                                   )._M_storage._M_storage + 8) = uVar63;
                  std::
                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                  ::_M_insert_unique_node
                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);
                }
                if ((undefined1 *)offset != auStack_98) {
                  operator_delete((void *)offset);
                }
              }
            }
          }
          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {
            if ((uVar64 != 0x11) || (bVar69 == false)) {
              bVar31 = check_eh_frame_flags(this,&shdr);
              uVar63 = i;
              bVar68 = false;
              bVar31 = !bVar31;
              if (!bVar31) {
                lVar48 = 10;
                pbVar58 = name;
                pbVar60 = (byte *)".eh_frame";
                do {
                  if (lVar48 == 0) break;
                  lVar48 = lVar48 + -1;
                  bVar68 = *pbVar58 < *pbVar60;
                  bVar31 = *pbVar58 == *pbVar60;
                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
                } while (bVar31);
                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {
                  if (bVar27) {
                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start[i] =
                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);
                    (this->super_Sized_relobj<64,_false>).section_offsets_.
                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                    _M_impl._M_start[i] = 0xffffffffffffffff;
                  }
                  else if (this->is_deferred_layout_ == false) {
                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back
                              (&eh_frame_sections,&i);
                  }
                  else {
                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);
                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);
                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>
                                    *)&offset,(char *)name,__a_01);
                    auStack_98._16_4_ = uVar63;
                    local_84._4_4_ = uVar61;
                    local_84._0_4_ = uVar64;
                    uVar23._0_4_ = pSVar54->sh_name;
                    uVar23._4_4_ = pSVar54->sh_type;
                    EStack_74 = pSVar54->sh_flags;
                    local_6c = pSVar54->sh_addr;
                    EStack_64 = pSVar54->sh_offset;
                    local_5c = pSVar54->sh_size;
                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;
                    local_4c = pSVar54->sh_addralign;
                    EStack_44 = pSVar54->sh_entsize;
                    local_7c = SUB84(uVar23,0);
                    uStack_78 = uVar4;
                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */
                    std::
                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>
                              (&this->deferred_layout_,(Deferred_layout *)&offset);
                    if ((undefined1 *)offset != auStack_98) {
                      operator_delete((void *)offset);
                    }
                  }
                  goto LAB_001daa92;
                }
              }
              if (bVar26) {
                pGVar38 = parameters->options_;
                if (pGVar38 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                }
                uVar52 = (ulong)i;
                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                          ._M_impl._M_start[uVar52];
                if ((pGVar38->gc_sections_).value == false) {
LAB_001db162:
                  if (pGVar38->icf_status_ != ICF_NONE) {
                    if (pOVar44 == (Output_section *)0x0) {
                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.
                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */
                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");
                      }
                      goto LAB_001daa92;
                    }
                    bVar47 = (byte)(shdr.p_)->sh_flags;
joined_r0x001db186:
                    if ((bVar47 & 2) != 0) {
                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */
                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);
                      if (bVar31) {
                        if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                        }
                        uVar52 = (ulong)i;
                        if ((parameters->options_->print_icf_sections_).value == false)
                        goto LAB_001dafa0;
                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);
                        pRVar45 = SVar72.first;
                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;
                        (*(pRVar45->super_Object)._vptr_Object[0x10])
                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);
                        oVar30 = offset;
                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                                  name_._M_dataplus._M_p;
                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                                  _vptr_Object[0x10];
                        if (p_Var21 == do_section_name) {
                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */
                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                                    ((string *)&shdr_2,&this->elf_file_,i);
                        }
                        else {
                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */
                          (*p_Var21)((string *)&shdr_2,this);
                        }
                        SVar29.p_ = shdr_2.p_;
                        pcVar41 = program_name;
                        pcVar46 = (char *)gettext(
                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"
                                                 );
                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */
                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);
                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {
                          operator_delete(shdr_2.p_);
                        }
                        goto LAB_001dc237;
                      }
                      uVar52 = (ulong)i;
                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                                ._M_impl._M_start[uVar52];
                    }
                  }
                }
                else {
                  if (pOVar44 == (Output_section *)0x0) {
                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.
                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */
                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");
                    }
                    goto LAB_001daa92;
                  }
                  if (((shdr.p_)->sh_flags & 2) != 0) {
                    local_a0 = i;
                    offset = (off_t)this;
                    iVar37 = std::
                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);
                    pGVar38 = parameters->options_;
                    if (iVar37.
                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.
                        _M_cur != (__node_type *)0x0) {
                      if (pGVar38 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                      }
                      uVar52 = (ulong)i;
                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                                ._M_impl._M_start[uVar52];
                      goto LAB_001db162;
                    }
                    if (pGVar38 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                    }
                    uVar52 = (ulong)i;
                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;
                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.
                              _M_dataplus._M_p;
                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                              _vptr_Object[0x10];
                    if (p_Var21 == do_section_name) {
                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */
                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name
                                ((string *)&offset,&this->elf_file_,i);
                    }
                    else {
                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */
                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);
                    }
                    oVar30 = offset;
                    pcVar41 = program_name;
                    pcVar46 = (char *)gettext(
                                             "%s: removing unused section from \'%s\' in file \'%s\'"
                                             );
                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */
                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);
LAB_001dc237:
                    if ((undefined1 *)offset != auStack_98) {
                      operator_delete((void *)offset);
                    }
                    goto LAB_001db6f8;
                  }
                  if (pGVar38->icf_status_ != ICF_NONE) {
                    bVar47 = (byte)(shdr.p_)->sh_flags;
                    goto joined_r0x001db186;
                  }
                }
                if (pOVar44 != (Output_section *)0x2) {
LAB_001daeca:
                  if (bVar27) {
                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;
                    (this->super_Sized_relobj<64,_false>).section_offsets_.
                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;
                  }
                  else {
                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);
                    pOVar44 = Layout::layout<64,_false>
                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,
                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);
                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start[uVar52] = pOVar44;
                    (this->super_Sized_relobj<64,_false>).section_offsets_.
                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.
                    _M_impl._M_start[uVar52] = offset;
                    if ((offset == -1) && (uVar63 != 0)) {
                      (this->super_Sized_relobj<64,_false>).super_Relobj.
                      relocs_must_follow_section_writes_ = true;
                    }
                    if (bVar69 == false) {
                      if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */
                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                      }
                      if ((parameters->options_->gdb_index_).value != false) {
                        bVar31 = false;
                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;
                        if (bVar68) {
                          lVar48 = 0xc;
                          pbVar58 = name;
                          pbVar60 = (byte *)".debug_info";
                          do {
                            if (lVar48 == 0) break;
                            lVar48 = lVar48 + -1;
                            bVar31 = *pbVar58 < *pbVar60;
                            bVar68 = *pbVar58 == *pbVar60;
                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
                          } while (bVar68);
                          bVar70 = false;
                          bVar31 = (!bVar31 && !bVar68) == bVar31;
                          if (!bVar31) {
                            lVar48 = 0xd;
                            pbVar58 = name;
                            pbVar60 = (byte *)".zdebug_info";
                            do {
                              if (lVar48 == 0) break;
                              lVar48 = lVar48 + -1;
                              bVar70 = *pbVar58 < *pbVar60;
                              bVar31 = *pbVar58 == *pbVar60;
                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
                            } while (bVar31);
                            bVar68 = false;
                            bVar31 = (!bVar70 && !bVar31) == bVar70;
                            if (!bVar31) {
                              lVar48 = 0xd;
                              pbVar58 = name;
                              pbVar60 = (byte *)".debug_types";
                              do {
                                if (lVar48 == 0) break;
                                lVar48 = lVar48 + -1;
                                bVar68 = *pbVar58 < *pbVar60;
                                bVar31 = *pbVar58 == *pbVar60;
                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
                              } while (bVar31);
                              bVar70 = false;
                              bVar31 = (!bVar68 && !bVar31) == bVar68;
                              if (!bVar31) {
                                lVar48 = 0xe;
                                pbVar58 = (byte *)".zdebug_types";
                                do {
                                  if (lVar48 == 0) break;
                                  lVar48 = lVar48 + -1;
                                  bVar70 = *name < *pbVar58;
                                  bVar31 = *name == *pbVar58;
                                  name = name + (ulong)bVar71 * -2 + 1;
                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
                                } while (bVar31);
                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;
                              }
                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back
                                        (&debug_types_sections,&i);
                              goto LAB_001daa92;
                            }
                          }
                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */
                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back
                                    (&debug_info_sections,&i);
                        }
                      }
                    }
                  }
                }
              }
              else {
                uVar52 = (ulong)i;
                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))
                goto LAB_001daeca;
                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);
                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);
                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                             &offset,(char *)name,__a_01);
                auStack_98._16_4_ = uVar63;
                local_84._4_4_ = uVar61;
                local_84._0_4_ = uVar6;
                uVar22._0_4_ = pSVar54->sh_name;
                uVar22._4_4_ = pSVar54->sh_type;
                EStack_74 = pSVar54->sh_flags;
                local_6c = pSVar54->sh_addr;
                EStack_64 = pSVar54->sh_offset;
                local_5c = pSVar54->sh_size;
                uStack_54 = *(undefined8 *)&pSVar54->sh_link;
                local_4c = pSVar54->sh_addralign;
                EStack_44 = pSVar54->sh_entsize;
                local_7c = SUB84(uVar22,0);
                uStack_78 = uVar64;
                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */
                std::
                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>
                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>
                          (&this->deferred_layout_,(Deferred_layout *)&offset);
                if ((undefined1 *)offset != auStack_98) {
                  operator_delete((void *)offset);
                }
                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                _M_impl._M_start[i] = (Output_section *)0x2;
                (this->super_Sized_relobj<64,_false>).section_offsets_.
                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.
                _M_start[i] = 0xffffffffffffffff;
              }
            }
          }
          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                   _M_impl._M_finish ==
                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                   _M_impl._M_end_of_storage) {
            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::
            _M_realloc_insert<unsigned_int_const&>
                      (&reloc_sections,
                       (iterator)
                       reloc_sections.
                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                       _M_finish,&i);
          }
          else {
            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
             _M_finish = i;
            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_finish = reloc_sections.
                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                        _M_finish + 1;
          }
        }
        else {
          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);
          bVar68 = !bVar31;
          if (bVar31) {
            bVar68 = false;
            bVar31 = bVar69 == false;
            if (bVar31) {
              if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */
                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
              }
              bVar68 = false;
              bVar31 = (parameters->options_->shared_).value == false;
              if (bVar31) {
                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +
                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.
                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.
                                         _M_p);
                bVar68 = false;
                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);
                bVar31 = *puVar36 == 0;
              }
            }
          }
          lVar48 = 0x10;
          pbVar58 = name;
          pbVar60 = (byte *)".note.GNU-stack";
          do {
            if (lVar48 == 0) break;
            lVar48 = lVar48 + -1;
            bVar68 = *pbVar58 < *pbVar60;
            bVar31 = *pbVar58 == *pbVar60;
            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
          } while (bVar31);
          if ((!bVar68 && !bVar31) == bVar68) {
            local_230 = true;
            local_238 = local_238 | (shdr.p_)->sh_flags;
            puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +
                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);
          }
          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);
          uVar63 = i;
          pPVar28 = parameters;
          bVar47 = (byte)i;
          if ((bVar31) && (bVar69 == false)) {
            if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */
              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->shared_).value == false) {
              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +
                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.
                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.
                                       _M_p);
              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);
            }
          }
          if (pPVar28->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/parameters.h",0x69,"target");
          }
          uVar52 = (ulong)i;
          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);
          bVar31 = pcVar41 == (char *)0x0;
          if (!bVar31) {
            iVar32 = strcmp((char *)name,pcVar41);
            bVar31 = iVar32 == 0;
            if (!bVar31) goto LAB_001daf00;
LAB_001dabc4:
            puVar36 = (ulong *)((ulong)(uVar63 >> 3 & 0x1ffffff8) +
                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);
            if (uVar64 != 7) goto LAB_001dabee;
LAB_001daf2c:
            bVar68 = uVar64 == 7;
            bVar31 = uVar64 < 7;
            lVar48 = 0x13;
            pbVar58 = name;
            pbVar60 = (byte *)".note.gnu.property";
            do {
              if (lVar48 == 0) break;
              lVar48 = lVar48 + -1;
              bVar31 = *pbVar58 < *pbVar60;
              bVar68 = *pbVar58 == *pbVar60;
              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
            } while (bVar68);
            if ((!bVar31 && !bVar68) != bVar31) {
              bVar68 = (1L << (bVar47 & 0x3f) &
                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.
                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])
                       == 0;
              bVar31 = !bVar68;
              if (bVar68) goto LAB_001dac20;
              goto LAB_001daf78;
            }
                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */
            layout_gnu_property_section(this,layout,uVar63);
            uVar52 = (ulong)i;
            puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +
                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);
            goto LAB_001dafa0;
          }
LAB_001daf00:
          bVar68 = false;
          lVar48 = 0x10;
          pbVar58 = name;
          pbVar60 = (byte *)".gnu.attributes";
          do {
            if (lVar48 == 0) break;
            lVar48 = lVar48 + -1;
            bVar68 = *pbVar58 < *pbVar60;
            bVar31 = *pbVar58 == *pbVar60;
            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
          } while (bVar31);
          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;
          if (uVar64 == 7) goto LAB_001daf2c;
LAB_001dabee:
          bVar31 = (1L << (bVar47 & 0x3f) &
                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.
                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;
          if (bVar31) {
LAB_001daf78:
            local_210 = layout->incremental_inputs_;
            if (local_210 == (Incremental_inputs *)0x0) {
              if (!bVar31) goto LAB_001da9c0;
            }
            else if (!bVar31) goto LAB_001dac76;
          }
          else {
            bVar31 = false;
            if (uVar64 != 0x11) {
LAB_001dac20:
              bVar68 = false;
              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;
              if (bVar70) {
                lVar48 = 0xd;
                pbVar58 = name;
                pbVar60 = (byte *)".gnu.linkonce";
                do {
                  if (lVar48 == 0) break;
                  lVar48 = lVar48 + -1;
                  bVar68 = *pbVar58 < *pbVar60;
                  bVar70 = *pbVar58 == *pbVar60;
                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;
                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;
                } while (bVar70);
                if (((!bVar68 && !bVar70) == bVar68) &&
                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),
                   !bVar68)) {
                  uVar52 = (ulong)i;
                  goto LAB_001dafa0;
                }
              }
LAB_001dac4f:
              local_210 = layout->incremental_inputs_;
              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {
LAB_001dac76:
                bVar31 = can_incremental_update(uVar64);
                if (bVar31) {
                  sh_size = (shdr.p_)->sh_size;
                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                           compressed_sections_;
                  if (pCVar9 != (Compressed_section_map *)0x0) {
                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;
                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
                    p_Var49 = &p_Var1->_M_header;
                    if (p_Var10 != (_Base_ptr)0x0) {
                      do {
                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {
                          pp_Var2 = &p_Var50->_M_right;
                          p_Var10 = *pp_Var2;
                          p_Var50 = p_Var49;
                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;
                        }
                        p_Var10 = p_Var50->_M_left;
                        p_Var49 = p_Var50;
                      } while (p_Var50->_M_left != (_Base_ptr)0x0);
LAB_001dacda:
                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&
                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {
                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);
                      }
                    }
                  }
                  Incremental_inputs::report_input_section
                            (local_210,(Object *)this,i,(char *)name,sh_size);
                }
              }
              goto LAB_001da9c0;
            }
                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */
            bVar31 = include_section_group
                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,
                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);
            if (bVar31) {
              bVar31 = false;
              goto LAB_001dac4f;
            }
LAB_001db6f8:
            uVar52 = (ulong)i;
          }
LAB_001dafa0:
          i = (uint)uVar52;
          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.
          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
          _M_start[uVar52] = (Output_section *)0x0;
          (this->super_Sized_relobj<64,_false>).section_offsets_.
          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start
          [uVar52] = 0xffffffffffffffff;
        }
LAB_001daa92:
        i = i + 1;
        __a = (allocator<char> *)(ulong)i;
        pSVar67 = pSVar54 + 1;
        if (uVar57 <= i) goto LAB_001da530;
        uVar52 = (ulong)pSVar67->sh_name;
        uVar64 = pSVar54[1].sh_type;
        pSVar54 = pSVar67;
        shdr.p_ = pSVar67;
      } while (uVar52 < local_1c8);
    }
    uVar57 = i;
    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;
    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");
    Object::error((Object *)this,pcVar41,uVar57,uVar52);
    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl
        ._M_start != (pointer)0x0) {
      operator_delete(debug_types_sections.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start);
    }
    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(debug_info_sections.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start);
    }
    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(eh_frame_sections.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start);
    }
    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>
                      ._M_impl._M_start);
    }
    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);
  }
  operator_delete(pvVar34);
  operator_delete(pvVar33);
  return;
}



void FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)

{
  char cVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  char *__s2;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  undefined1 uVar10;
  undefined *puVar11;
  undefined8 uVar12;
  uint *puVar13;
  char cVar14;
  char cVar15;
  int iVar16;
  long lVar17;
  long lVar18;
  byte *__s1;
  ulong *puVar19;
  long lVar20;
  ulong uVar21;
  undefined8 uVar22;
  undefined8 *puVar23;
  undefined8 *puVar24;
  long *plVar25;
  undefined8 uVar26;
  byte bVar27;
  long lVar28;
  long lVar29;
  long lVar30;
  ulong uVar31;
  ulong uVar32;
  undefined8 *puVar33;
  undefined8 *puVar34;
  size_t sVar35;
  uint *puVar36;
  uint *puVar37;
  byte *pbVar38;
  byte *pbVar39;
  uint uVar40;
  long *plVar41;
  uint uVar42;
  uint uVar43;
  ulong uVar44;
  bool bVar45;
  bool bVar46;
  bool bVar47;
  byte bVar48;
  void **local_270;
  long *local_240;
  ulong local_238;
  long local_228;
  long local_220;
  long local_210;
  long local_200;
  long local_1f8;
  long local_1f0;
  ulong local_1c8;
  long local_1c0;
  uint *local_1a0;
  undefined1 local_18d;
  uint local_18c;
  uint *local_188;
  uint **local_180;
  uint *local_178;
  uint *local_170;
  uint *local_168;
  uint *local_158;
  uint *local_150;
  undefined8 local_148;
  uint *local_138;
  uint *local_130;
  undefined8 local_128;
  uint *local_118;
  uint *local_110;
  undefined8 local_108;
  uint *local_f8;
  uint local_f0;
  uint auStack_e8 [4];
  void *local_d8;
  undefined4 local_d0;
  uint *local_c8;
  uint local_c0;
  void *local_b8;
  uint *local_a8;
  uint local_a0;
  undefined4 uStack_9c;
  uint auStack_98 [4];
  uint local_88;
  undefined8 local_84;
  undefined8 local_7c;
  undefined8 uStack_74;
  undefined8 local_6c;
  undefined8 uStack_64;
  undefined8 local_5c;
  undefined8 uStack_54;
  undefined8 local_4c;
  undefined8 uStack_44;
  
  bVar48 = 0;
  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  uVar2 = param_1[0xe];
  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);
  if (lVar17 == 0) goto LAB_001db857;
  if (*(char *)(lVar17 + 0x2809) == '\0') {
    if (*(int *)(lVar17 + 0x9050) == 0) {
      if (*(char *)(param_3 + 0x372) == '\0') {
        if (uVar2 == 0) {
          return;
        }
        local_1c8 = param_4[2];
        local_1f0 = *(long *)(*param_4 + 0x10);
        local_1f8 = param_4[3];
        if (local_1f8 != 0) {
          local_1f8 = *(long *)(local_1f8 + 0x10);
        }
        local_200 = param_4[4];
        local_220 = param_4[6];
        if (local_220 != 0) {
          local_220 = *(long *)(local_220 + 0x10);
        }
        bVar7 = false;
        bVar8 = false;
        local_228 = param_4[7];
        local_240 = (long *)0x0;
        local_1c0 = *(long *)(param_4[1] + 0x10);
        bVar9 = false;
        goto LAB_001da266;
      }
      local_240 = *(long **)(param_1 + 0x22);
      if (local_240 != (long *)0x0) goto LAB_001da1f0;
    }
    else {
      local_240 = *(long **)(param_1 + 0x22);
      if (local_240 != (long *)0x0) goto LAB_001db71f;
    }
  }
  else {
    local_240 = *(long **)(param_1 + 0x22);
    if (local_240 != (long *)0x0) {
      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");
      }
      if (*(int *)(lVar17 + 0x9050) != 0) {
LAB_001db71f:
        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");
        }
      }
LAB_001da1f0:
      if (uVar2 == 0) {
        return;
      }
      bVar7 = true;
      bVar8 = true;
      local_1f0 = *local_240;
      local_1f8 = local_240[3];
      bVar9 = false;
      local_200 = local_240[4];
      local_1c8 = local_240[2];
      local_228 = local_240[7];
      local_220 = local_240[6];
      local_1c0 = local_240[1];
      goto LAB_001da266;
    }
  }
  if (param_4 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");
  }
  if (uVar2 == 0) {
    return;
  }
  local_240 = (long *)FUN_002d9490(0x40);
  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);
  local_1f0 = *local_240;
  *(long **)(param_1 + 0x22) = local_240;
  local_1f8 = local_240[3];
  local_1c8 = local_240[2];
  local_200 = local_240[4];
  local_220 = local_240[6];
  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  local_228 = local_240[7];
  local_1c0 = local_240[1];
  if (lVar17 == 0) {
LAB_001db857:
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  bVar7 = true;
  bVar8 = false;
  bVar9 = true;
LAB_001da266:
  lVar17 = *(long *)(lVar17 + 0x9058);
  bVar27 = 0;
  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {
    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;
  }
  uVar44 = (ulong)uVar2;
  lVar17 = FUN_002d9490(uVar44 * 4);
  uVar32 = 0;
  do {
    uVar31 = uVar32;
    uVar32 = uVar31 + 1;
    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;
  } while (uVar44 != uVar32);
                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */
  lVar18 = FUN_002d9490(uVar44 * 4);
  uVar21 = 0;
  do {
    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;
    bVar45 = uVar31 != uVar21;
    uVar21 = uVar21 + 1;
  } while (bVar45);
  puVar37 = (uint *)(local_1f0 + 0x40);
  if (uVar2 < 2) {
    uVar43 = 0;
  }
  else {
    uVar42 = 1;
    uVar43 = 0;
    local_1a0 = puVar37;
    do {
      if (bVar27 != 0) {
        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);
      }
      uVar4 = local_1a0[1];
      if ((uVar4 == 9) || (uVar4 == 4)) {
        uVar40 = local_1a0[0xb];
        if (0xfeff < uVar40) {
                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */
          FUN_001682d0(param_1 + 0x3e);
          uVar40 = uVar40 + param_1[0x44];
        }
        uVar21 = (ulong)uVar40;
        if ((uVar40 == 0) || (uVar2 <= uVar40)) {
          uVar22 = gettext("relocation section %u has bad info %u");
          FUN_001bd150(param_1,uVar22,uVar42,uVar21);
        }
        else {
          puVar36 = (uint *)(lVar17 + uVar21 * 4);
          if (*puVar36 == 0) {
            *puVar36 = uVar42;
            *(uint *)(lVar18 + uVar21 * 4) = uVar4;
          }
          else {
            *puVar36 = 0xffffffff;
          }
        }
      }
      uVar42 = uVar42 + 1;
      local_1a0 = local_1a0 + 0x10;
    } while (uVar42 != uVar2);
  }
  if (!bVar8) {
    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;
    if (uVar21 < uVar32) {
      FUN_00192810(param_1 + 0x14);
    }
    else if ((uVar32 < uVar21) &&
            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))
    {
      *(long *)(param_1 + 0x16) = lVar28;
    }
    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;
    if (uVar21 < uVar32) {
                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */
      FUN_00167c60(param_1 + 0x38);
    }
    else if ((uVar32 < uVar21) &&
            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))
    {
      *(long *)(param_1 + 0x3a) = lVar28;
    }
  }
  if (*(long *)(param_1 + 10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */
    FUN_001bcf60();
  }
  cVar14 = FUN_0017a850();
  if (cVar14 == '\0') {
    if (uVar43 != 0) {
      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/parameters.h",0x5c,"options");
      }
      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);
      puVar24 = *(undefined8 **)(lVar28 + 0x40);
      local_188 = param_1;
      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {
        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);
      }
      else {
        *puVar24 = param_1;
        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;
      }
      lVar28 = *(long *)(param_1 + 0x7a);
      uVar32 = (ulong)uVar43;
      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {
        lVar20 = *(long *)(param_1 + 0x7c);
                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */
        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);
        if (lVar28 != lVar20) {
          puVar23 = (undefined8 *)(lVar28 + 0x10);
          puVar34 = puVar24;
          do {
            *puVar34 = puVar34 + 2;
            if ((undefined8 *)puVar23[-2] == puVar23) {
              uVar22 = puVar23[1];
              puVar34[2] = *puVar23;
              puVar34[3] = uVar22;
            }
            else {
              *puVar34 = (undefined8 *)puVar23[-2];
              puVar34[2] = *puVar23;
            }
            puVar33 = puVar34 + 0xe;
            puVar34[1] = puVar23[-1];
            puVar23[-2] = puVar23;
            puVar23[-1] = 0;
            *(undefined1 *)puVar23 = 0;
            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);
            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);
            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);
            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);
            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);
            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;
            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);
            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);
            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;
            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);
            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);
            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;
            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);
            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);
            *(undefined8 *)((long)puVar34 + 100) = uVar22;
            puVar23 = puVar23 + 0xe;
            puVar34 = puVar33;
          } while (puVar33 !=
                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &
                              0xfffffffffffffff) + 1) * 0xe);
        }
        plVar25 = *(long **)(param_1 + 0x7c);
        plVar41 = *(long **)(param_1 + 0x7a);
        if (plVar25 != plVar41) {
          do {
            if ((long *)*plVar41 != plVar41 + 2) {
              FUN_002dac60();
            }
            plVar41 = plVar41 + 0xe;
          } while (plVar25 != plVar41);
          plVar41 = *(long **)(param_1 + 0x7a);
        }
        if (plVar41 != (long *)0x0) {
          FUN_002dac60(plVar41);
        }
        *(undefined8 **)(param_1 + 0x7a) = puVar24;
        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;
        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;
      }
      *(undefined1 *)((long)param_1 + 0x1e1) = 1;
    }
    local_d8 = (void *)0x0;
    local_d0 = 0;
    local_c8 = (uint *)0x0;
    sVar35 = (uVar31 + 0x40 >> 6) * 8;
    local_c0 = 0;
    local_b8 = (void *)0x0;
                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */
    local_d8 = (void *)FUN_002d9490(sVar35);
    local_b8 = (void *)((long)local_d8 + sVar35);
    local_d0 = 0;
    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);
    local_c0 = uVar2 & 0x3f;
    local_a8 = local_c8;
    local_a0 = local_c0;
    memset(local_d8,0,sVar35);
    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */
      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
    }
    cVar14 = *(char *)(lVar28 + 0x5051);
    cVar1 = cVar14;
    if (cVar14 == '\0') {
      cVar1 = *(char *)(lVar28 + 0x4ec1);
    }
    local_178 = (uint *)0x0;
    local_170 = (uint *)0x0;
    local_168 = (uint *)0x0;
    local_158 = (uint *)0x0;
    local_150 = (uint *)0x0;
    local_148 = 0;
    local_138 = (uint *)0x0;
    local_130 = (uint *)0x0;
    local_128 = 0;
    local_118 = (uint *)0x0;
    local_110 = (uint *)0x0;
    local_108 = 0;
    local_18c = 1;
    uVar10 = 0;
    if (uVar2 < 2) {
      local_238 = 0;
LAB_001da530:
      local_270 = &local_d8;
      if (!bVar8) {
                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */
        FUN_001a5430(param_3,param_1);
        FUN_001a5350(param_3,uVar10,local_238,param_1);
      }
      if (bVar9) {
        if (local_158 != local_150) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");
        }
      }
      else if (local_158 != local_150) {
        puVar37 = local_158;
        do {
          uVar3 = *puVar37;
          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);
          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,
                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),
                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));
          puVar37 = puVar37 + 1;
        } while (local_150 != puVar37);
      }
      if (cVar1 != '\0') {
                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */
        FUN_001bfe80(param_1);
      }
      if (bVar7) {
        if (local_178 != local_170) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");
        }
      }
      else if (local_178 != local_170) {
        local_1a0 = local_178;
        do {
          uVar3 = *local_1a0;
          uVar32 = (ulong)uVar3;
          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);
          uVar43 = puVar37[0xb];
          local_f8 = puVar37;
          if (0xfeff < uVar43) {
            FUN_001682d0(param_1 + 0x3e);
            uVar43 = uVar43 + param_1[0x44];
          }
          if (uVar43 < uVar2) {
            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);
            if (lVar28 == 2) {
              if (!bVar8) {
                uVar43 = local_f8[1];
                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);
                local_84 = 0;
                uStack_74 = *(undefined8 *)(puVar37 + 2);
                local_6c = *(undefined8 *)(puVar37 + 4);
                uStack_64 = *(undefined8 *)(puVar37 + 6);
                local_5c = *(undefined8 *)(puVar37 + 8);
                uStack_54 = *(undefined8 *)(puVar37 + 10);
                local_4c = *(undefined8 *)(puVar37 + 0xc);
                uStack_44 = *(undefined8 *)(puVar37 + 0xe);
                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;
                local_7c = CONCAT44(uVar43,(undefined4)local_7c);
                local_88 = uVar3;
                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */
                FUN_001d6880(param_1 + 0x80,&local_a8);
                if (local_a8 != auStack_98) {
                  FUN_002dac60();
                }
                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;
                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
              }
            }
            else if (lVar28 == 0) {
              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;
              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
            }
            else {
              puVar24 = (undefined8 *)FUN_002d9490(0x28);
              *puVar24 = 0;
              puVar24[1] = 0;
              puVar24[2] = 0;
              puVar24[3] = 0;
              puVar24[4] = 0;
              if (param_1[0xe] <= uVar3) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");
              }
              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;
              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);
              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;
              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
            }
          }
          local_1a0 = local_1a0 + 1;
        } while (local_170 != local_1a0);
      }
      if (bVar9) {
        if ((local_130 != local_138) || (local_110 != local_118)) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");
        }
      }
      else {
        puVar37 = local_138;
        if (local_130 != local_138) {
          do {
            uVar32 = (ulong)*puVar37;
                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */
            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,
                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));
            puVar37 = puVar37 + 1;
          } while (local_130 != puVar37);
        }
        puVar37 = local_118;
        if (local_118 != local_110) {
          do {
            uVar32 = (ulong)*puVar37;
            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,
                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));
            puVar37 = puVar37 + 1;
          } while (local_110 != puVar37);
        }
      }
      if (bVar8) {
        if (*local_240 != 0) {
          thunk_FUN_002dac60();
        }
        if (local_240[1] != 0) {
          thunk_FUN_002dac60();
        }
        if (local_240[3] != 0) {
          thunk_FUN_002dac60();
        }
        if (local_240[6] != 0) {
          thunk_FUN_002dac60();
        }
        param_1[0x22] = 0;
        param_1[0x23] = 0;
      }
      else {
        lVar28 = *param_4;
        if (lVar28 != 0) {
          FUN_0017a780(lVar28);
          thunk_FUN_002dac60(lVar28,0x18);
        }
        lVar28 = param_4[1];
        *param_4 = 0;
        if (lVar28 != 0) {
          FUN_0017a780(lVar28);
          thunk_FUN_002dac60(lVar28,0x18);
        }
        param_4[1] = 0;
      }
      if (local_118 != (uint *)0x0) {
        FUN_002dac60();
      }
      if (local_138 != (uint *)0x0) {
        FUN_002dac60();
      }
      if (local_158 != (uint *)0x0) {
        FUN_002dac60();
      }
      if (local_178 != (uint *)0x0) {
        FUN_002dac60();
      }
      FUN_001d5cd0(local_270);
      FUN_002dac60(lVar18);
      FUN_002dac60(lVar17);
      return;
    }
    uVar43 = *(uint *)(local_1f0 + 0x44);
    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);
    local_188 = puVar37;
    if (uVar32 < local_1c8) {
      local_238 = 0;
      do {
        local_270 = &local_d8;
        __s1 = (byte *)(local_1c0 + uVar32);
        local_188 = puVar37;
        if (bVar8) {
LAB_001da9c0:
          if (bVar9) {
            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {
              cVar15 = FUN_001bd560(param_1,__s1);
                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */
              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')
                  ) || (uVar43 - 0xe < 2)) {
                local_a0 = local_18c;
                local_a8 = param_1;
                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */
                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);
              }
              sVar35 = strspn((char *)__s1,
                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");
              uVar42 = local_18c;
              if (__s1[sVar35] == 0) {
                lVar28 = *(long *)(param_2 + 0x290);
                FUN_001bde30(&local_a8,__s1);
                puVar13 = local_a8;
                puVar36 = (uint *)(lVar28 + 0x90);
                local_f0 = uVar42;
                local_f8 = param_1;
                if (*(long *)(lVar28 + 0x98) == 0) {
LAB_001db58d:
                  local_180 = &local_a8;
                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */
                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,
                                                   &local_18d);
                }
                else {
                  uVar32 = CONCAT44(uStack_9c,local_a0);
                  lVar20 = *(long *)(lVar28 + 0x98);
                  local_1a0 = puVar36;
                  do {
                    while( true ) {
                      lVar29 = lVar20;
                      uVar44 = *(ulong *)(lVar29 + 0x28);
                      uVar31 = uVar32;
                      if (uVar44 <= uVar32) {
                        uVar31 = uVar44;
                      }
                      if ((uVar31 != 0) &&
                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))
                      break;
                      lVar20 = uVar44 - uVar32;
                      if (lVar20 < 0x80000000) {
                        if (-0x80000001 < lVar20) {
                          iVar16 = (int)lVar20;
                          break;
                        }
                        goto LAB_001db4b0;
                      }
LAB_001db4fa:
                      lVar20 = *(long *)(lVar29 + 0x10);
                      local_1a0 = (uint *)lVar29;
                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;
                    }
                    if (-1 < iVar16) goto LAB_001db4fa;
LAB_001db4b0:
                    lVar20 = *(long *)(lVar29 + 0x18);
                  } while (*(long *)(lVar29 + 0x18) != 0);
LAB_001db50a:
                  bVar45 = puVar36 == local_1a0;
                  puVar36 = local_1a0;
                  if (bVar45) goto LAB_001db58d;
                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);
                  uVar31 = uVar44;
                  if (uVar32 <= uVar44) {
                    uVar31 = uVar32;
                  }
                  if ((uVar31 == 0) ||
                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),
                     iVar16 == 0)) {
                    lVar20 = uVar32 - uVar44;
                    if (lVar20 < 0x80000000) {
                      if (lVar20 < -0x80000000) goto LAB_001db58d;
                      iVar16 = (int)lVar20;
                      goto LAB_001db589;
                    }
                  }
                  else {
LAB_001db589:
                    if (iVar16 < 0) goto LAB_001db58d;
                  }
                }
                uVar44 = (ulong)uVar42 ^ (ulong)param_1;
                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);
                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);
                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {
                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */
                  puVar24 = (undefined8 *)FUN_002d9490(0x20);
                  puVar24[1] = param_1;
                  *puVar24 = 0;
                  *(uint *)(puVar24 + 2) = uVar42;
                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);
                }
                if (local_a8 != auStack_98) {
                  FUN_002dac60();
                }
              }
            }
          }
          uVar42 = local_18c;
          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {
            if ((uVar43 != 0x11) || (cVar14 == '\0')) {
              cVar15 = FUN_001c3d60(param_1,&local_188);
              uVar42 = local_18c;
              bVar45 = false;
              bVar46 = cVar15 == '\0';
              if (!bVar46) {
                lVar28 = 10;
                pbVar38 = __s1;
                pbVar39 = (byte *)".eh_frame";
                do {
                  if (lVar28 == 0) break;
                  lVar28 = lVar28 + -1;
                  bVar45 = *pbVar38 < *pbVar39;
                  bVar46 = *pbVar38 == *pbVar39;
                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                } while (bVar46);
                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {
                  if (bVar9) {
                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =
                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;
                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =
                         0xffffffffffffffff;
                  }
                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {
                    FUN_001c6700(&local_158,&local_18c);
                    uVar42 = local_18c;
                  }
                  else {
                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);
                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);
                    FUN_001bde30(&local_a8,__s1);
                    local_88 = uVar42;
                    local_84 = CONCAT44(uVar6,uVar5);
                    uStack_74 = *(undefined8 *)(puVar37 + 2);
                    local_6c = *(undefined8 *)(puVar37 + 4);
                    uStack_64 = *(undefined8 *)(puVar37 + 6);
                    local_5c = *(undefined8 *)(puVar37 + 8);
                    uStack_54 = *(undefined8 *)(puVar37 + 10);
                    local_4c = *(undefined8 *)(puVar37 + 0xc);
                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);
                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;
                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);
                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */
                    FUN_001d6880(param_1 + 0x7a,&local_a8);
                    uVar42 = local_18c;
                    if (local_a8 != auStack_98) {
                      FUN_002dac60();
                      uVar42 = local_18c;
                    }
                  }
                  goto LAB_001daa92;
                }
              }
              if (bVar8) {
                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
                if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                }
                uVar32 = (ulong)local_18c;
                lVar20 = uVar32 * 8;
                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);
                if (*(char *)(lVar28 + 0x2809) == '\0') {
LAB_001db162:
                  if (*(int *)(lVar28 + 0x9050) != 0) {
                    if (lVar29 == 0) {
                      uVar42 = (uint)uVar32;
                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */
                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");
                      }
                      goto LAB_001daa92;
                    }
                    bVar27 = (byte)local_188[2];
joined_r0x001db186:
                    if ((bVar27 & 2) != 0) {
                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */
                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);
                      if (cVar15 != '\0') {
                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                        }
                        uVar32 = (ulong)local_18c;
                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')
                        goto LAB_001dafa0;
                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,
                                                       uVar32);
                        lVar28 = plVar25[1];
                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);
                        puVar36 = local_a8;
                        uVar22 = *(undefined8 *)(param_1 + 2);
                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {
                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */
                          FUN_00168a50(&local_f8,param_1 + 0x3e);
                        }
                        else {
                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */
                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);
                        }
                        puVar13 = local_f8;
                        uVar12 = DAT_0043e8e8;
                        uVar26 = gettext(
                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"
                                        );
                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */
                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);
                        if (local_f8 != auStack_e8) {
                          FUN_002dac60();
                        }
                        goto LAB_001dc237;
                      }
                      uVar32 = (ulong)local_18c;
                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);
                    }
                  }
                }
                else {
                  if (lVar29 == 0) {
                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */
                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");
                    }
                    goto LAB_001daa92;
                  }
                  if ((local_188[2] & 2) != 0) {
                    local_a0 = local_18c;
                    local_a8 = param_1;
                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);
                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
                    if (lVar20 != 0) {
                      if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                      }
                      uVar32 = (ulong)local_18c;
                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);
                      lVar20 = uVar32 * 8;
                      goto LAB_001db162;
                    }
                    if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                    }
                    uVar32 = (ulong)local_18c;
                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;
                    uVar22 = *(undefined8 *)(param_1 + 2);
                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {
                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */
                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);
                    }
                    else {
                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */
                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);
                    }
                    puVar36 = local_a8;
                    uVar12 = DAT_0043e8e8;
                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");
                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */
                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);
LAB_001dc237:
                    if (local_a8 != auStack_98) {
                      FUN_002dac60();
                    }
                    goto LAB_001db6f8;
                  }
                  if (*(int *)(lVar28 + 0x9050) != 0) {
                    bVar27 = (byte)local_188[2];
                    goto joined_r0x001db186;
                  }
                }
                uVar42 = (uint)uVar32;
                if (lVar29 != 2) {
LAB_001daeca:
                  if (bVar9) {
                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;
                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
                    uVar42 = (uint)uVar32;
                  }
                  else {
                    iVar16 = *(int *)(lVar17 + uVar32 * 4);
                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,
                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);
                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;
                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;
                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {
                      *(undefined1 *)(param_1 + 0x1e) = 1;
                    }
                    uVar42 = local_18c;
                    if (cVar14 == '\0') {
                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */
                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                      }
                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {
                        bVar45 = false;
                        bVar46 = (local_188[2] & 2) == 0;
                        if (bVar46) {
                          lVar28 = 0xc;
                          pbVar38 = __s1;
                          pbVar39 = (byte *)".debug_info";
                          do {
                            if (lVar28 == 0) break;
                            lVar28 = lVar28 + -1;
                            bVar45 = *pbVar38 < *pbVar39;
                            bVar46 = *pbVar38 == *pbVar39;
                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                          } while (bVar46);
                          bVar47 = false;
                          bVar45 = (!bVar45 && !bVar46) == bVar45;
                          if (!bVar45) {
                            lVar28 = 0xd;
                            pbVar38 = __s1;
                            pbVar39 = (byte *)".zdebug_info";
                            do {
                              if (lVar28 == 0) break;
                              lVar28 = lVar28 + -1;
                              bVar47 = *pbVar38 < *pbVar39;
                              bVar45 = *pbVar38 == *pbVar39;
                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                            } while (bVar45);
                            bVar46 = false;
                            bVar45 = (!bVar47 && !bVar45) == bVar47;
                            if (!bVar45) {
                              lVar28 = 0xd;
                              pbVar38 = __s1;
                              pbVar39 = (byte *)".debug_types";
                              do {
                                if (lVar28 == 0) break;
                                lVar28 = lVar28 + -1;
                                bVar46 = *pbVar38 < *pbVar39;
                                bVar45 = *pbVar38 == *pbVar39;
                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                              } while (bVar45);
                              bVar47 = false;
                              bVar45 = (!bVar46 && !bVar45) == bVar46;
                              if (!bVar45) {
                                lVar28 = 0xe;
                                pbVar38 = (byte *)".zdebug_types";
                                do {
                                  if (lVar28 == 0) break;
                                  lVar28 = lVar28 + -1;
                                  bVar47 = *__s1 < *pbVar38;
                                  bVar45 = *__s1 == *pbVar38;
                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;
                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                                } while (bVar45);
                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;
                              }
                              FUN_001c6700(&local_118,&local_18c);
                              uVar42 = local_18c;
                              goto LAB_001daa92;
                            }
                          }
                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */
                          FUN_001c6700(&local_138,&local_18c);
                          uVar42 = local_18c;
                        }
                      }
                    }
                  }
                }
              }
              else {
                uVar32 = (ulong)local_18c;
                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))
                goto LAB_001daeca;
                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);
                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);
                FUN_001bde30(&local_a8,__s1);
                local_88 = uVar42;
                local_84 = CONCAT44(uVar5,uVar6);
                uStack_74 = *(undefined8 *)(puVar37 + 2);
                local_6c = *(undefined8 *)(puVar37 + 4);
                uStack_64 = *(undefined8 *)(puVar37 + 6);
                local_5c = *(undefined8 *)(puVar37 + 8);
                uStack_54 = *(undefined8 *)(puVar37 + 10);
                local_4c = *(undefined8 *)(puVar37 + 0xc);
                uStack_44 = *(undefined8 *)(puVar37 + 0xe);
                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;
                local_7c = CONCAT44(uVar43,(undefined4)local_7c);
                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */
                FUN_001d6880(param_1 + 0x7a,&local_a8);
                if (local_a8 != auStack_98) {
                  FUN_002dac60();
                }
                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;
                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =
                     0xffffffffffffffff;
                uVar42 = local_18c;
              }
            }
          }
          else if (local_170 == local_168) {
            FUN_00160c40(&local_178,local_170,&local_18c);
            uVar42 = local_18c;
          }
          else {
            *local_170 = local_18c;
            local_170 = local_170 + 1;
          }
        }
        else {
          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);
          bVar45 = cVar15 == '\0';
          bVar46 = cVar15 == '\x01';
          if (bVar46) {
            bVar45 = false;
            bVar46 = cVar14 == '\0';
            if (bVar46) {
              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */
                FUN_0017c650("../../gold/parameters.h",0x5c,"options");
              }
              bVar45 = false;
              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';
              if (bVar46) {
                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
                bVar45 = false;
                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);
                bVar46 = *puVar19 == 0;
              }
            }
          }
          lVar28 = 0x10;
          pbVar38 = __s1;
          pbVar39 = (byte *)".note.GNU-stack";
          do {
            if (lVar28 == 0) break;
            lVar28 = lVar28 + -1;
            bVar45 = *pbVar38 < *pbVar39;
            bVar46 = *pbVar38 == *pbVar39;
            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
          } while (bVar46);
          if ((!bVar45 && !bVar46) == bVar45) {
            uVar10 = 1;
            local_238 = local_238 | *(ulong *)(local_188 + 2);
            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);
          }
          cVar15 = FUN_001bd330(param_1,__s1);
          uVar42 = local_18c;
          puVar11 = PTR_DAT_0043e6b0;
          bVar27 = (byte)local_18c;
          if ((cVar15 == '\x01') && (cVar14 == '\0')) {
            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */
              FUN_0017c650("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {
              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);
            }
          }
          if (*(long *)(puVar11 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/parameters.h",0x69,"target");
          }
          uVar32 = (ulong)local_18c;
          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);
          bVar45 = __s2 == (char *)0x0;
          if (!bVar45) {
            iVar16 = strcmp((char *)__s1,__s2);
            bVar45 = iVar16 == 0;
            if (!bVar45) goto LAB_001daf00;
LAB_001dabc4:
            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);
            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);
            if (uVar43 != 7) goto LAB_001dabee;
LAB_001daf2c:
            bVar46 = uVar43 == 7;
            bVar45 = uVar43 < 7;
            lVar28 = 0x13;
            pbVar38 = __s1;
            pbVar39 = (byte *)".note.gnu.property";
            do {
              if (lVar28 == 0) break;
              lVar28 = lVar28 + -1;
              bVar45 = *pbVar38 < *pbVar39;
              bVar46 = *pbVar38 == *pbVar39;
              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
            } while (bVar46);
            if ((!bVar45 && !bVar46) != bVar45) {
              bVar46 = (1L << (bVar27 & 0x3f) &
                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;
              bVar45 = !bVar46;
              if (bVar46) goto LAB_001dac20;
              goto LAB_001daf78;
            }
                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */
            FUN_001ca630(param_1,param_3,uVar32);
            uVar32 = (ulong)local_18c;
            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);
            goto LAB_001dafa0;
          }
LAB_001daf00:
          bVar46 = false;
          lVar28 = 0x10;
          pbVar38 = __s1;
          pbVar39 = (byte *)".gnu.attributes";
          do {
            if (lVar28 == 0) break;
            lVar28 = lVar28 + -1;
            bVar46 = *pbVar38 < *pbVar39;
            bVar45 = *pbVar38 == *pbVar39;
            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
          } while (bVar45);
          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;
          if (uVar43 == 7) goto LAB_001daf2c;
LAB_001dabee:
          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))
                   != 0;
          if (bVar45) {
LAB_001daf78:
            local_210 = *(long *)(param_3 + 0x378);
            if (local_210 == 0) {
              if (!bVar45) goto LAB_001da9c0;
            }
            else if (!bVar45) goto LAB_001dac76;
          }
          else {
            bVar45 = false;
            if (uVar43 != 0x11) {
LAB_001dac20:
              bVar46 = false;
              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;
              if (bVar47) {
                lVar28 = 0xd;
                pbVar38 = __s1;
                pbVar39 = (byte *)".gnu.linkonce";
                do {
                  if (lVar28 == 0) break;
                  lVar28 = lVar28 + -1;
                  bVar46 = *pbVar38 < *pbVar39;
                  bVar47 = *pbVar38 == *pbVar39;
                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                } while (bVar47);
                if (((!bVar46 && !bVar47) == bVar46) &&
                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))
                {
                  uVar32 = (ulong)local_18c;
                  goto LAB_001dafa0;
                }
              }
LAB_001dac4f:
              local_210 = *(long *)(param_3 + 0x378);
              if ((!bVar45) && (local_210 != 0)) {
LAB_001dac76:
                cVar15 = FUN_00183010(uVar43);
                if (cVar15 != '\0') {
                  uVar22 = *(undefined8 *)(local_188 + 8);
                  lVar28 = *(long *)(param_1 + 0x12);
                  if (lVar28 != 0) {
                    lVar20 = *(long *)(lVar28 + 0x10);
                    lVar29 = lVar28 + 8;
                    if (*(long *)(lVar28 + 0x10) != 0) {
                      do {
                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {
                          plVar25 = (long *)(lVar30 + 0x18);
                          lVar20 = *plVar25;
                          lVar30 = lVar29;
                          if (*plVar25 == 0) goto LAB_001dacda;
                        }
                        lVar20 = *(long *)(lVar30 + 0x10);
                        lVar29 = lVar30;
                      } while (*(long *)(lVar30 + 0x10) != 0);
LAB_001dacda:
                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {
                        uVar22 = *(undefined8 *)(lVar30 + 0x28);
                      }
                    }
                  }
                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);
                }
              }
              goto LAB_001da9c0;
            }
                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */
            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,
                                  local_270);
            if (cVar15 != '\0') {
              bVar45 = false;
              goto LAB_001dac4f;
            }
LAB_001db6f8:
            uVar32 = (ulong)local_18c;
          }
LAB_001dafa0:
          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;
          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
          uVar42 = (uint)uVar32;
        }
LAB_001daa92:
        local_18c = uVar42 + 1;
        puVar36 = puVar37 + 0x10;
        if (uVar2 <= local_18c) goto LAB_001da530;
        uVar32 = (ulong)*puVar36;
        uVar43 = puVar37[0x11];
        puVar37 = puVar36;
        local_188 = puVar36;
      } while (uVar32 < local_1c8);
    }
    uVar2 = local_18c;
    local_270 = &local_d8;
    uVar22 = gettext("bad section name offset for section %u: %lu");
    FUN_001bd150(param_1,uVar22,uVar2,uVar32);
    if (local_118 != (uint *)0x0) {
      FUN_002dac60();
    }
    if (local_138 != (uint *)0x0) {
      FUN_002dac60();
    }
    if (local_158 != (uint *)0x0) {
      FUN_002dac60();
    }
    if (local_178 != (uint *)0x0) {
      FUN_002dac60();
    }
    FUN_001d5cd0(local_270);
  }
  else if (!bVar8) {
    lVar28 = *param_4;
    if (lVar28 != 0) {
      FUN_0017a780(lVar28);
      thunk_FUN_002dac60(lVar28,0x18);
    }
    lVar28 = param_4[1];
    *param_4 = 0;
    if (lVar28 != 0) {
      FUN_0017a780(lVar28);
      thunk_FUN_002dac60(lVar28,0x18);
    }
    param_4[1] = 0;
  }
  FUN_002dac60(lVar18);
  FUN_002dac60(lVar17);
  return;
}


PUSH RBP
MOV RBP,RSP
PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBX
SUB RSP,0x258
MOV RAX,qword ptr [0x0043e6b0]
MOV qword ptr [RBP + -0x1a8],RDX
MOV qword ptr [RBP + -0x1e0],RSI
MOV RDX,qword ptr [RAX + 0x18]
MOV qword ptr [RBP + -0x210],RCX
TEST RDX,RDX
JZ 0x001dc36b
MOV RDX,qword ptr [RDX + 0x8]
MOV R15,RDI
MOV RAX,qword ptr [RAX + 0x10]
MOV ECX,dword ptr [R15 + 0x38]
MOV EDI,dword ptr [RDX + 0x7c]
MOV dword ptr [RBP + -0x19c],ECX
MOV dword ptr [RBP + -0x23c],EDI
TEST RAX,RAX
JZ 0x001db857
CMP byte ptr [RAX + 0x2809],0x0
JZ 0x001da408
MOV RDI,qword ptr [R15 + 0x88]
MOV qword ptr [RBP + -0x238],RDI
TEST RDI,RDI
JZ 0x001db7a0
MOV RBX,qword ptr [RBP + -0x1e0]
MOV RDX,qword ptr [RBX + 0x290]
CMP byte ptr [RDX + 0x18],0x0
JZ 0x001dc45d
MOV R14D,dword ptr [RAX + 0x9050]
TEST R14D,R14D
JNZ 0x001db71f
MOV EBX,dword ptr [RBP + -0x19c]
TEST EBX,EBX
JZ 0x001da6c4
MOV RDI,qword ptr [RBP + -0x238]
MOV byte ptr [RBP + -0x19f],0x1
MOV byte ptr [RBP + -0x19d],0x1
MOV RSI,qword ptr [RDI]
MOV RCX,qword ptr [RDI + 0x18]
MOV byte ptr [RBP + -0x19e],0x0
MOV RBX,qword ptr [RDI + 0x20]
MOV qword ptr [RBP + -0x1e8],RSI
MOV RSI,qword ptr [RDI + 0x10]
MOV qword ptr [RBP + -0x1f0],RCX
MOV RCX,qword ptr [RDI + 0x38]
MOV qword ptr [RBP + -0x1c0],RSI
MOV RSI,qword ptr [RDI + 0x30]
MOV RDI,qword ptr [RDI + 0x8]
MOV qword ptr [RBP + -0x1f8],RBX
MOV qword ptr [RBP + -0x218],RSI
MOV qword ptr [RBP + -0x220],RCX
MOV qword ptr [RBP + -0x1b8],RDI
MOV RAX,qword ptr [RAX + 0x9058]
MOV byte ptr [RBP + -0x1b0],0x0
TEST RAX,RAX
JZ 0x001da29a
MOVZX ECX,byte ptr [RAX + 0xb0]
MOV byte ptr [RBP + -0x1b0],CL
TEST CL,CL
JZ 0x001da29a
MOVZX EAX,byte ptr [RAX + 0xb1]
XOR EAX,0x1
MOV byte ptr [RBP + -0x1b0],AL
MOV R14D,dword ptr [RBP + -0x19c]
XOR EBX,EBX
LEA RAX,[R14*0x4]
MOV qword ptr [RBP + -0x230],R14
MOV RDI,RAX
MOV R12,RAX
CALL 0x002d9490
MOV RDI,R12
MOV RCX,R14
MOV qword ptr [RBP + -0x1d0],RAX
MOV RDX,RAX
JMP 0x001da2d3
MOV RBX,RAX
LEA RAX,[RBX + 0x1]
MOV dword ptr [RDX + RBX*0x4],0x0
CMP RCX,RAX
JNZ 0x001da2d0
MOV qword ptr [RBP + -0x228],RAX
CALL 0x002d9490
MOV RCX,RAX
MOV qword ptr [RBP + -0x1d8],RAX
XOR EAX,EAX
JMP 0x001da303
MOV RAX,RDX
MOV dword ptr [RCX + RAX*0x4],0x0
LEA RDX,[RAX + 0x1]
CMP RBX,RAX
JNZ 0x001da300
MOV RAX,qword ptr [RBP + -0x1e8]
CMP dword ptr [RBP + -0x19c],0x1
LEA R14,[RAX + 0x40]
JBE 0x001da71c
LEA RAX,[R15 + 0xf8]
MOV R13D,0x1
MOV qword ptr [RBP + -0x198],R14
MOV dword ptr [RBP + -0x200],0x0
MOV qword ptr [RBP + -0x208],RAX
JMP 0x001da371
ADD R13D,0x1
ADD qword ptr [RBP + -0x198],0x40
CMP R13D,dword ptr [RBP + -0x19c]
JZ 0x001da730
CMP byte ptr [RBP + -0x1b0],0x0
JZ 0x001da39a
MOV RAX,qword ptr [RBP + -0x198]
MOV RAX,qword ptr [RAX + 0x8]
MOV qword ptr [RBP + -0x1c8],RAX
AND EAX,0x2
CMP RAX,0x1
SBB dword ptr [RBP + -0x200],-0x1
MOV RAX,qword ptr [RBP + -0x198]
MOV EAX,dword ptr [RAX + 0x4]
MOV dword ptr [RBP + -0x1c8],EAX
CMP EAX,0x9
JZ 0x001da3b4
CMP EAX,0x4
JNZ 0x001da358
MOV RAX,qword ptr [RBP + -0x198]
MOV R12D,dword ptr [RAX + 0x2c]
CMP R12D,0xfeff
JA 0x001da6d8
TEST R12D,R12D
JZ 0x001da6f8
CMP R12D,dword ptr [RBP + -0x19c]
JNC 0x001da6f8
MOV RAX,qword ptr [RBP + -0x1d0]
LEA RAX,[RAX + R12*0x4]
MOV R11D,dword ptr [RAX]
TEST R11D,R11D
JZ 0x001da4f8
MOV dword ptr [RAX],0xffffffff
JMP 0x001da358
MOV EDX,dword ptr [RAX + 0x9050]
TEST EDX,EDX
JNZ 0x001db708
MOV RCX,qword ptr [RBP + -0x1a8]
MOVZX ESI,byte ptr [RCX + 0x372]
MOV byte ptr [RBP + -0x19e],SIL
TEST SIL,SIL
JNZ 0x001db788
MOV R13D,dword ptr [RBP + -0x19c]
TEST R13D,R13D
JZ 0x001da6c4
MOV RSI,qword ptr [RBP + -0x210]
MOV RDX,qword ptr [RSI]
MOV RDI,qword ptr [RSI + 0x10]
MOV RCX,qword ptr [RDX + 0x10]
MOV qword ptr [RBP + -0x1c0],RDI
MOV qword ptr [RBP + -0x1e8],RCX
MOV RCX,qword ptr [RSI + 0x18]
MOV qword ptr [RBP + -0x1f0],RCX
TEST RCX,RCX
JZ 0x001da486
MOV RDI,qword ptr [RBP + -0x1f0]
MOV RBX,qword ptr [RDI + 0x10]
MOV qword ptr [RBP + -0x1f0],RBX
MOV RDI,qword ptr [RBP + -0x210]
MOV RSI,qword ptr [RDI + 0x20]
MOV RCX,qword ptr [RDI + 0x30]
MOV qword ptr [RBP + -0x1f8],RSI
MOV qword ptr [RBP + -0x218],RCX
TEST RCX,RCX
JZ 0x001da4b3
MOV RCX,qword ptr [RCX + 0x10]
MOV qword ptr [RBP + -0x218],RCX
MOV RSI,qword ptr [RBP + -0x210]
MOV byte ptr [RBP + -0x19f],0x0
MOV byte ptr [RBP + -0x19d],0x0
MOV RDI,qword ptr [RSI + 0x38]
MOV RDX,qword ptr [RSI + 0x8]
MOV qword ptr [RBP + -0x238],0x0
MOV qword ptr [RBP + -0x220],RDI
MOV RDI,qword ptr [RDX + 0x10]
MOV qword ptr [RBP + -0x1b8],RDI
JMP 0x001da266
MOV dword ptr [RAX],R13D
MOV EDI,dword ptr [RBP + -0x1c8]
MOV RAX,qword ptr [RBP + -0x1d8]
MOV dword ptr [RAX + R12*0x4],EDI
JMP 0x001da358
LEA RAX,[RBP + -0xd0]
MOV qword ptr [RBP + -0x230],0x0
MOV qword ptr [RBP + -0x268],RAX
NOP word ptr [RAX + RAX*0x1]
CMP byte ptr [RBP + -0x19d],0x0
JNZ 0x001da564
MOV RBX,qword ptr [RBP + -0x1a8]
MOV RSI,R15
MOV RDI,RBX
CALL 0x001a5430
MOVZX ESI,byte ptr [RBP + -0x228]
MOV RDX,qword ptr [RBP + -0x230]
MOV RCX,R15
MOV RDI,RBX
CALL 0x001a5350
CMP byte ptr [RBP + -0x19e],0x0
MOV RBX,qword ptr [RBP + -0x150]
MOV RAX,qword ptr [RBP + -0x148]
JZ 0x001dbaa8
CMP RBX,RAX
JNZ 0x001dc39b
CMP byte ptr [RBP + -0x1c8],0x0
JNZ 0x001dc261
CMP byte ptr [RBP + -0x19f],0x0
MOV RSI,qword ptr [RBP + -0x170]
MOV RAX,qword ptr [RBP + -0x168]
JZ 0x001dbd07
CMP RSI,RAX
JNZ 0x001dc336
CMP byte ptr [RBP + -0x19e],0x0
MOV RBX,qword ptr [RBP + -0x130]
MOV RAX,qword ptr [RBP + -0x128]
JZ 0x001dbf30
CMP RAX,RBX
JNZ 0x001dc31e
MOV RAX,qword ptr [RBP + -0x110]
CMP qword ptr [RBP + -0x108],RAX
JNZ 0x001dc31e
CMP byte ptr [RBP + -0x19d],0x0
JZ 0x001dbff9
MOV RAX,qword ptr [RBP + -0x238]
MOV RDI,qword ptr [RAX]
TEST RDI,RDI
JZ 0x001da612
CALL 0x002dac30
MOV RAX,qword ptr [RBP + -0x238]
MOV RDI,qword ptr [RAX + 0x8]
TEST RDI,RDI
JZ 0x001da627
CALL 0x002dac30
MOV RAX,qword ptr [RBP + -0x238]
MOV RDI,qword ptr [RAX + 0x18]
TEST RDI,RDI
JZ 0x001da63c
CALL 0x002dac30
MOV RAX,qword ptr [RBP + -0x238]
MOV RDI,qword ptr [RAX + 0x30]
TEST RDI,RDI
JZ 0x001da651
CALL 0x002dac30
MOV qword ptr [R15 + 0x88],0x0
MOV RDI,qword ptr [RBP + -0x110]
TEST RDI,RDI
JZ 0x001da66d
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x130]
TEST RDI,RDI
JZ 0x001da67e
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x150]
TEST RDI,RDI
JZ 0x001da68f
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x170]
TEST RDI,RDI
JZ 0x001da6a0
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x268]
CALL 0x001d5cd0
MOV RDI,qword ptr [RBP + -0x1d8]
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x1d0]
CALL 0x002dac60
LEA RSP,[RBP + -0x28]
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
MOV RDI,qword ptr [RBP + -0x208]
CALL 0x001682d0
ADD R12D,dword ptr [R15 + 0x110]
TEST R12D,R12D
JNZ 0x001da3d5
NOP dword ptr [RAX]
LEA RDI,[0x378430]
CALL 0x00147320
MOV ECX,R12D
MOV EDX,R13D
MOV RDI,R15
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001bd150
JMP 0x001da358
MOV dword ptr [RBP + -0x200],0x0
NOP word ptr CS:[RAX + RAX*0x1]
CMP byte ptr [RBP + -0x19d],0x0
JZ 0x001db970
MOV RDI,qword ptr [R15 + 0x28]
TEST RDI,RDI
JZ 0x001dc34e
CALL 0x0017a850
MOV byte ptr [RBP + -0x228],AL
TEST AL,AL
JNZ 0x001db8d8
MOV R10D,dword ptr [RBP + -0x200]
TEST R10D,R10D
JZ 0x001da7de
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc353
MOV RAX,qword ptr [RAX + 0x9058]
MOV qword ptr [RBP + -0x180],R15
MOV RSI,qword ptr [RAX + 0x40]
CMP RSI,qword ptr [RAX + 0x48]
JZ 0x001dc289
MOV qword ptr [RSI],R15
ADD RSI,0x8
MOV qword ptr [RAX + 0x40],RSI
MOV R12,qword ptr [R15 + 0x1e8]
MOV RDX,qword ptr [R15 + 0x1f8]
MOV RCX,0x6db6db6db6db6db7
MOV EAX,dword ptr [RBP + -0x200]
SUB RDX,R12
SAR RDX,0x4
IMUL RDX,RCX
CMP RAX,RDX
JA 0x001dbb31
MOV byte ptr [R15 + 0x1e1],0x1
MOV qword ptr [RBP + -0xd0],0x0
ADD RBX,0x40
MOV dword ptr [RBP + -0xc8],0x0
SHR RBX,0x6
MOV qword ptr [RBP + -0xc0],0x0
SHL RBX,0x3
MOV dword ptr [RBP + -0xb8],0x0
MOV RDI,RBX
MOV qword ptr [RBP + -0xb0],0x0
CALL 0x002d9490
LEA RDX,[RAX + RBX*0x1]
XOR ESI,ESI
MOV RDI,RAX
MOV qword ptr [RBP + -0xd0],RAX
MOV qword ptr [RBP + -0xb0],RDX
MOV RDX,qword ptr [RBP + -0x230]
MOV dword ptr [RBP + -0xc8],0x0
SAR RDX,0x6
LEA RCX,[RAX + RDX*0x8]
MOV EDX,dword ptr [RBP + -0x19c]
MOV qword ptr [RBP + -0xa0],RCX
AND EDX,0x3f
MOV qword ptr [RBP + -0xc0],RCX
MOV dword ptr [RBP + -0x98],EDX
MOV dword ptr [RBP + -0xb8],EDX
MOV RDX,RBX
CALL 0x00147100
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc42d
MOVZX ESI,byte ptr [RAX + 0x5051]
MOV byte ptr [RBP + -0x1b0],SIL
MOV byte ptr [RBP + -0x1c8],SIL
TEST SIL,SIL
JNZ 0x001da8bd
MOVZX EAX,byte ptr [RAX + 0x4ec1]
MOV byte ptr [RBP + -0x1c8],AL
CMP dword ptr [RBP + -0x19c],0x1
MOV qword ptr [RBP + -0x170],0x0
MOV qword ptr [RBP + -0x168],0x0
MOV qword ptr [RBP + -0x160],0x0
MOV qword ptr [RBP + -0x150],0x0
MOV qword ptr [RBP + -0x148],0x0
MOV qword ptr [RBP + -0x140],0x0
MOV qword ptr [RBP + -0x130],0x0
MOV qword ptr [RBP + -0x128],0x0
MOV qword ptr [RBP + -0x120],0x0
MOV qword ptr [RBP + -0x110],0x0
MOV qword ptr [RBP + -0x108],0x0
MOV qword ptr [RBP + -0x100],0x0
MOV dword ptr [RBP + -0x184],0x1
JBE 0x001da511
MOV RAX,qword ptr [RBP + -0x1e8]
MOV qword ptr [RBP + -0x180],R14
MOV R12D,dword ptr [RAX + 0x44]
MOV EAX,dword ptr [RAX + 0x40]
MOV RBX,RAX
CMP qword ptr [RBP + -0x1c0],RAX
JBE 0x001db9f0
LEA RAX,[RBP + -0xd0]
MOV EDX,0x1
MOV qword ptr [RBP + -0x230],0x0
MOV qword ptr [RBP + -0x268],RAX
LEA RAX,[RBP + -0xa0]
MOV qword ptr [RBP + -0x200],RAX
ADD RAX,0x10
MOV qword ptr [RBP + -0x248],RAX
JMP 0x001daac9
CMP byte ptr [RBP + -0x19e],0x0
JZ 0x001daa58
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc2be
CMP byte ptr [RAX + 0x2809],0x0
JZ 0x001daa58
MOV RSI,qword ptr [RBP + -0x198]
MOV RDI,R15
CALL 0x001bd560
TEST AL,AL
JNZ 0x001dafc8
MOV RDX,qword ptr [RBP + -0x198]
MOV RDI,qword ptr [RBP + -0x1a8]
MOV RSI,R15
CALL 0x001a4e50
TEST AL,AL
JNZ 0x001dafc8
LEA EAX,[R12 + -0xe]
CMP EAX,0x1
JBE 0x001dafc8
NOP dword ptr [RAX]
MOV RBX,qword ptr [RBP + -0x198]
LEA RSI,[0x376bb8]
MOV RDI,RBX
CALL 0x001476c0
MOV RSI,RBX
CMP byte ptr [RBX + RAX*0x1],0x0
JZ 0x001db410
NOP dword ptr [RAX + RAX*0x1]
CMP byte ptr [RBP + -0x1c8],0x0
JZ 0x001daa75
CMP R12D,0x9
JZ 0x001db1e0
CMP R12D,0x4
JZ 0x001db1e0
CMP R12D,0x11
JNZ 0x001dad10
CMP byte ptr [RBP + -0x1b0],0x0
JZ 0x001dad10
MOV EBX,dword ptr [RBP + -0x184]
LEA EDX,[RBX + 0x1]
ADD R14,0x40
MOV dword ptr [RBP + -0x184],EDX
CMP EDX,dword ptr [RBP + -0x19c]
JNC 0x001da530
MOV EAX,dword ptr [R14]
MOV R12D,dword ptr [R14 + 0x4]
MOV qword ptr [RBP + -0x180],R14
MOV RBX,RAX
CMP RAX,qword ptr [RBP + -0x1c0]
JNC 0x001dba08
MOV RAX,qword ptr [RBP + -0x1b8]
ADD RAX,RBX
CMP byte ptr [RBP + -0x19d],0x0
MOV qword ptr [RBP + -0x198],RAX
JNZ 0x001da9c0
MOV RCX,qword ptr [RBP + -0x1e0]
MOV RSI,RAX
MOV RDI,R15
CALL 0x001bdd20
CMP AL,0x1
JNZ 0x001dab0a
CMP byte ptr [RBP + -0x1b0],0x0
JZ 0x001db218
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0x10
LEA RDI,[0x3763a8]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001dab65
MOV ECX,dword ptr [RBP + -0x184]
MOV RAX,qword ptr [RBP + -0x180]
MOV EDX,0x1
MOV byte ptr [RBP + -0x228],0x1
MOV RAX,qword ptr [RAX + 0x8]
OR qword ptr [RBP + -0x230],RAX
MOV RAX,RCX
SHL RDX,CL
SHR RAX,0x3
AND EAX,0x1ffffff8
ADD RAX,qword ptr [RBP + -0xd0]
OR qword ptr [RAX],RDX
MOV RSI,qword ptr [RBP + -0x198]
MOV RDI,R15
CALL 0x001bd330
CMP AL,0x1
MOV RAX,qword ptr [0x0043e6b0]
JNZ 0x001dab8c
CMP byte ptr [RBP + -0x1b0],0x0
JZ 0x001db268
MOV RAX,qword ptr [RAX + 0x18]
TEST RAX,RAX
JZ 0x001dc2d6
MOV RAX,qword ptr [RAX + 0x8]
MOV EBX,dword ptr [RBP + -0x184]
MOV RSI,qword ptr [RAX + 0x60]
TEST RSI,RSI
JZ 0x001daf00
MOV RDI,qword ptr [RBP + -0x198]
CALL 0x001477a0
TEST EAX,EAX
JNZ 0x001daf00
MOV RAX,RBX
MOV EDX,0x1
MOV ECX,EBX
SHR RAX,0x3
SHL RDX,CL
AND EAX,0x1ffffff8
ADD RAX,qword ptr [RBP + -0xd0]
OR qword ptr [RAX],RDX
CMP R12D,0x7
JZ 0x001daf2c
MOV EDX,EBX
MOV RSI,qword ptr [RBP + -0xd0]
MOV EAX,0x1
MOV ECX,EBX
SHR RDX,0x6
SHL RAX,CL
AND RAX,qword ptr [RSI + RDX*0x8]
SETNZ R13B
JNZ 0x001daf78
XOR R13D,R13D
CMP R12D,0x11
JZ 0x001db6b0
MOV RAX,qword ptr [RBP + -0x180]
TEST byte ptr [RAX + 0x9],0x2
JNZ 0x001dac4f
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0xd
LEA RDI,[0x378511]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001db8a0
MOV RAX,qword ptr [RBP + -0x1a8]
MOV RAX,qword ptr [RAX + 0x378]
MOV qword ptr [RBP + -0x208],RAX
TEST R13B,R13B
JNZ 0x001da9c0
TEST RAX,RAX
JZ 0x001da9c0
MOV EDI,R12D
CALL 0x00183010
TEST AL,AL
JZ 0x001da9c0
MOV RAX,qword ptr [RBP + -0x180]
MOV EDX,dword ptr [RBP + -0x184]
MOV R8,qword ptr [RAX + 0x20]
MOV RAX,qword ptr [R15 + 0x48]
TEST RAX,RAX
JZ 0x001dacef
LEA RSI,[RAX + 0x8]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dacef
MOV RCX,RSI
MOV RDI,qword ptr [RBP + -0x198]
JMP 0x001daccc
MOV RCX,RAX
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dacda
CMP EDX,dword ptr [RAX + 0x20]
JBE 0x001dacc0
MOV RAX,qword ptr [RAX + 0x18]
TEST RAX,RAX
JNZ 0x001daccc
MOV qword ptr [RBP + -0x198],RDI
CMP RSI,RCX
JZ 0x001dacef
CMP EDX,dword ptr [RCX + 0x20]
JC 0x001dacef
MOV R8,qword ptr [RCX + 0x28]
MOV RCX,qword ptr [RBP + -0x198]
MOV RDI,qword ptr [RBP + -0x208]
MOV RSI,R15
CALL 0x00183d90
JMP 0x001da9c0
LEA RAX,[RBP + -0x180]
MOV RDI,R15
MOV RSI,RAX
MOV qword ptr [RBP + -0x208],RAX
CALL 0x001c3d60
TEST AL,AL
JZ 0x001dae40
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0xa
LEA RDI,[0x3762fd]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001dae40
CMP byte ptr [RBP + -0x1b0],0x0
JNZ 0x001dae30
CMP byte ptr [RBP + -0x19e],0x0
MOVZX EAX,byte ptr [R15 + 0x1e1]
JNZ 0x001dc060
TEST AL,AL
JZ 0x001dba88
LEA RAX,[R15 + 0x1e8]
MOV RSI,qword ptr [RBP + -0x1d0]
MOV RCX,qword ptr [RBP + -0x1d8]
MOV qword ptr [RBP + -0x208],RAX
MOV EAX,dword ptr [RBP + -0x184]
MOV RDI,qword ptr [RBP + -0x200]
MOV R13D,dword ptr [RSI + RAX*0x4]
MOV RSI,qword ptr [RBP + -0x198]
MOV RBX,RAX
MOV R12D,dword ptr [RCX + RAX*0x4]
CALL 0x001bde30
MOV dword ptr [RBP + -0x80],EBX
MOV RSI,qword ptr [RBP + -0x200]
LEA RDI,[R15 + 0x1e8]
MOV dword ptr [RBP + -0x7c],R13D
MOV EBX,dword ptr [RBP + -0x23c]
MOV dword ptr [RBP + -0x78],R12D
MOVDQU XMM5,xmmword ptr [R14]
MOVUPS xmmword ptr [RBP + -0x74],XMM5
MOVDQU XMM6,xmmword ptr [R14 + 0x10]
MOVUPS xmmword ptr [RBP + -0x64],XMM6
MOVDQU XMM7,xmmword ptr [R14 + 0x20]
MOVUPS xmmword ptr [RBP + -0x54],XMM7
MOVDQU XMM5,xmmword ptr [R14 + 0x30]
MOV dword ptr [RBP + -0x70],EBX
MOVUPS xmmword ptr [RBP + -0x44],XMM5
CALL 0x001d6880
MOV RDI,qword ptr [RBP + -0xa0]
CMP RDI,qword ptr [RBP + -0x248]
JZ 0x001daa8c
CALL 0x002dac60
JMP 0x001daa8c
MOV R12D,dword ptr [RBP + -0x23c]
NOP word ptr [RAX + RAX*0x1]
CMP byte ptr [RBP + -0x19d],0x0
JZ 0x001db000
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc306
MOV R13D,dword ptr [RBP + -0x184]
MOV RDX,qword ptr [R15 + 0x50]
CMP byte ptr [RAX + 0x2809],0x0
MOV RBX,R13
LEA RCX,[R13*0x8]
MOV RDX,qword ptr [RDX + R13*0x8]
JZ 0x001db162
TEST RDX,RDX
JZ 0x001db758
MOV RCX,qword ptr [RBP + -0x180]
TEST byte ptr [RCX + 0x8],0x2
JNZ 0x001db0f8
MOV EAX,dword ptr [RAX + 0x9050]
TEST EAX,EAX
JZ 0x001daec0
TEST byte ptr [RCX + 0x8],0x2
JNZ 0x001db18c
NOP word ptr CS:[RAX + RAX*0x1]
CMP RDX,0x2
JZ 0x001daa92
CMP byte ptr [RBP + -0x19e],0x0
JZ 0x001db2b0
MOV RAX,qword ptr [R15 + 0x50]
MOV qword ptr [RAX + R13*0x8],0x1
MOV RAX,qword ptr [R15 + 0xe0]
MOV qword ptr [RAX + R13*0x8],-0x1
JMP 0x001daa92
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0x10
LEA RDI,[0x378501]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001dabc4
CMP R12D,0x7
JNZ 0x001dabee
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0x13
LEA RDI,[0x3763f3]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001db628
MOV EDX,EBX
MOV RSI,qword ptr [RBP + -0xd0]
MOV EAX,0x1
MOV ECX,EBX
SHR RDX,0x6
SHL RAX,CL
AND RAX,qword ptr [RSI + RDX*0x8]
SETNZ R13B
JZ 0x001dac20
NOP dword ptr [RAX + RAX*0x1]
MOV RAX,qword ptr [RBP + -0x1a8]
MOV RAX,qword ptr [RAX + 0x378]
MOV qword ptr [RBP + -0x208],RAX
TEST RAX,RAX
JZ 0x001db1c8
TEST R13B,R13B
JZ 0x001dac76
NOP
MOV RDX,qword ptr [R15 + 0x50]
MOV EAX,EBX
MOV qword ptr [RDX + RAX*0x8],0x0
MOV RDX,qword ptr [R15 + 0xe0]
MOV qword ptr [RDX + RAX*0x8],-0x1
JMP 0x001daa92
MOV RAX,qword ptr [RBP + -0x1e0]
MOV RSI,qword ptr [RBP + -0x200]
MOV qword ptr [RBP + -0xa0],R15
MOV RDI,qword ptr [RAX + 0x290]
MOV EAX,dword ptr [RBP + -0x184]
MOV dword ptr [RBP + -0x98],EAX
CALL 0x001d5d20
JMP 0x001daa30
MOV R13D,dword ptr [RBP + -0x184]
CMP byte ptr [R15 + 0x1e1],0x0
MOV RBX,R13
JZ 0x001daeca
MOV RAX,qword ptr [RBP + -0x180]
TEST byte ptr [RAX + 0x8],0x2
JZ 0x001daeca
MOV RCX,qword ptr [RBP + -0x1d8]
LEA RAX,[R15 + 0x1e8]
MOV RDI,qword ptr [RBP + -0x200]
MOV qword ptr [RBP + -0x208],RAX
MOV ESI,dword ptr [RCX + R13*0x4]
MOV RCX,qword ptr [RBP + -0x1d0]
MOV dword ptr [RBP + -0x208],ESI
MOV RSI,qword ptr [RBP + -0x198]
MOV R13D,dword ptr [RCX + R13*0x4]
CALL 0x001bde30
MOV dword ptr [RBP + -0x80],EBX
MOV EBX,dword ptr [RBP + -0x208]
LEA RDI,[R15 + 0x1e8]
MOV dword ptr [RBP + -0x7c],R13D
MOV RSI,qword ptr [RBP + -0x200]
MOV dword ptr [RBP + -0x78],EBX
MOVDQU XMM6,xmmword ptr [R14]
MOVUPS xmmword ptr [RBP + -0x74],XMM6
MOVDQU XMM7,xmmword ptr [R14 + 0x10]
MOVUPS xmmword ptr [RBP + -0x64],XMM7
MOVDQU XMM4,xmmword ptr [R14 + 0x20]
MOVUPS xmmword ptr [RBP + -0x54],XMM4
MOVDQU XMM6,xmmword ptr [R14 + 0x30]
MOV dword ptr [RBP + -0x70],R12D
MOVUPS xmmword ptr [RBP + -0x44],XMM6
CALL 0x001d6880
MOV RDI,qword ptr [RBP + -0xa0]
CMP RDI,qword ptr [RBP + -0x248]
JZ 0x001db0c9
CALL 0x002dac60
MOV EAX,dword ptr [RBP + -0x184]
MOV RDX,qword ptr [R15 + 0x50]
MOV qword ptr [RDX + RAX*0x8],0x2
MOV RDX,qword ptr [R15 + 0xe0]
MOV RBX,RAX
MOV qword ptr [RDX + RAX*0x8],-0x1
JMP 0x001daa92
MOV RAX,qword ptr [RBP + -0x1e0]
MOV RSI,qword ptr [RBP + -0x200]
MOV qword ptr [RBP + -0xa0],R15
MOV dword ptr [RBP + -0x98],R13D
MOV RAX,qword ptr [RAX + 0x290]
LEA RDI,[RAX + 0x50]
MOV qword ptr [RBP + -0x250],RAX
CALL 0x001820f0
TEST RAX,RAX
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
JZ 0x001dbc6b
TEST RAX,RAX
JZ 0x001dc2ee
MOV R13D,dword ptr [RBP + -0x184]
MOV RDX,qword ptr [R15 + 0x50]
MOV RDX,qword ptr [RDX + R13*0x8]
MOV RBX,R13
LEA RCX,[R13*0x8]
MOV R9D,dword ptr [RAX + 0x9050]
TEST R9D,R9D
JZ 0x001daec0
TEST RDX,RDX
JZ 0x001db870
MOV RCX,qword ptr [RBP + -0x180]
TEST byte ptr [RCX + 0x8],0x2
JZ 0x001daec0
MOV RAX,qword ptr [RBP + -0x1e0]
MOV EDX,EBX
MOV RSI,R15
MOV RDI,qword ptr [RAX + 0x298]
CALL 0x0017f630
TEST AL,AL
JNZ 0x001dc137
MOV R13D,dword ptr [RBP + -0x184]
MOV RAX,qword ptr [R15 + 0x50]
MOV RBX,R13
MOV RDX,qword ptr [RAX + R13*0x8]
JMP 0x001daec0
TEST R13B,R13B
JNZ 0x001dafa0
JMP 0x001da9c0
MOV RSI,qword ptr [RBP + -0x168]
CMP RSI,qword ptr [RBP + -0x160]
JZ 0x001dc098
MOV EAX,dword ptr [RBP + -0x184]
ADD RSI,0x4
MOV dword ptr [RSI + -0x4],EAX
MOV EBX,dword ptr [RBP + -0x184]
MOV qword ptr [RBP + -0x168],RSI
JMP 0x001daa92
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc475
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x001dab0a
MOV ECX,dword ptr [RBP + -0x184]
MOV EDX,0x1
MOV RAX,RCX
SHL RDX,CL
SHR RAX,0x3
AND EAX,0x1ffffff8
ADD RAX,qword ptr [RBP + -0xd0]
OR qword ptr [RAX],RDX
JMP 0x001dab0a
MOV RDX,qword ptr [RAX + 0x10]
TEST RDX,RDX
JZ 0x001dc445
CMP byte ptr [RDX + 0x2a61],0x0
JNZ 0x001dab8c
MOV ECX,dword ptr [RBP + -0x184]
MOV ESI,0x1
MOV RDX,RCX
SHL RSI,CL
SHR RDX,0x3
AND EDX,0x1ffffff8
ADD RDX,qword ptr [RBP + -0xd0]
OR qword ptr [RDX],RSI
JMP 0x001dab8c
MOV RAX,qword ptr [RBP + -0x1d0]
SUB RSP,0x8
MOV R9D,R12D
MOV EDX,EBX
MOV R8,qword ptr [RBP + -0x208]
MOV RCX,qword ptr [RBP + -0x198]
MOV ESI,dword ptr [RAX + R13*0x4]
MOV RAX,qword ptr [RBP + -0x1d8]
PUSH qword ptr [RBP + -0x200]
MOV RDI,qword ptr [RBP + -0x1a8]
MOV EAX,dword ptr [RAX + R13*0x4]
MOV dword ptr [RBP + -0x250],ESI
PUSH RAX
PUSH RSI
MOV RSI,R15
CALL 0x001bae80
MOV RDX,qword ptr [R15 + 0x50]
ADD RSP,0x20
MOV qword ptr [RDX + R13*0x8],RAX
MOV RAX,qword ptr [R15 + 0xe0]
MOV RDX,qword ptr [RBP + -0xa0]
MOV qword ptr [RAX + R13*0x8],RDX
CMP qword ptr [RBP + -0xa0],-0x1
JNZ 0x001db332
MOV R8D,dword ptr [RBP + -0x250]
TEST R8D,R8D
JNZ 0x001dc0b0
CMP byte ptr [RBP + -0x1b0],0x0
JNZ 0x001daa8c
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc383
CMP byte ptr [RAX + 0x28d1],0x0
JZ 0x001daa8c
MOV RAX,qword ptr [RBP + -0x180]
TEST byte ptr [RAX + 0x8],0x2
JNZ 0x001daa8c
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0xc
LEA RDI,[0x37393d]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001dbcef
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0xd
LEA RDI,[0x37851f]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001dbcef
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0xd
LEA RDI,[0x373949]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001db3f5
MOV RSI,qword ptr [RBP + -0x198]
MOV ECX,0xe
LEA RDI,[0x37852c]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x001daa8c
LEA RSI,[RBP + -0x184]
LEA RDI,[RBP + -0x110]
CALL 0x001c6700
JMP 0x001daa8c
MOV RAX,qword ptr [RBP + -0x1e0]
MOV RDI,qword ptr [RBP + -0x200]
MOV RBX,qword ptr [RAX + 0x290]
MOV EAX,dword ptr [RBP + -0x184]
MOV qword ptr [RBP + -0x270],RBX
MOV R13D,EAX
MOV dword ptr [RBP + -0x208],EAX
CALL 0x001bde30
MOV R8,qword ptr [RBX + 0x98]
LEA RSI,[RBX + 0x90]
MOV qword ptr [RBP + -0xf0],R15
MOV dword ptr [RBP + -0xe8],R13D
MOV qword ptr [RBP + -0x250],RSI
TEST R8,R8
JZ 0x001dc255
MOV R13,qword ptr [RBP + -0x98]
MOV RCX,qword ptr [RBP + -0xa0]
MOV dword ptr [RBP + -0x240],R12D
MOV RAX,qword ptr [RBP + -0x198]
MOV qword ptr [RBP + -0x260],R14
MOV R12,R13
MOV qword ptr [RBP + -0x278],RCX
MOV RBX,RCX
MOV R13,R8
MOV qword ptr [RBP + -0x258],RAX
MOV qword ptr [RBP + -0x198],RSI
JMP 0x001db4b9
MOV R13,qword ptr [R13 + 0x18]
TEST R13,R13
JZ 0x001db50a
MOV R14,qword ptr [R13 + 0x28]
MOV RDX,R12
CMP R14,R12
CMOVBE RDX,R14
TEST RDX,RDX
JZ 0x001db4dc
MOV RDI,qword ptr [R13 + 0x20]
MOV RSI,RBX
CALL 0x00147840
TEST EAX,EAX
JNZ 0x001db4f6
MOV RCX,R14
SUB RCX,R12
CMP RCX,0x7fffffff
JG 0x001db4fa
CMP RCX,-0x80000000
JL 0x001db4b0
MOV EAX,ECX
TEST EAX,EAX
JS 0x001db4b0
MOV qword ptr [RBP + -0x198],R13
MOV R13,qword ptr [R13 + 0x10]
TEST R13,R13
JNZ 0x001db4b9
MOV RAX,qword ptr [RBP + -0x258]
MOV R13,R12
MOV RBX,qword ptr [RBP + -0x198]
MOV R14,qword ptr [RBP + -0x260]
MOV R12D,dword ptr [RBP + -0x240]
MOV qword ptr [RBP + -0x198],RAX
CMP qword ptr [RBP + -0x250],RBX
JZ 0x001db58d
MOV RCX,qword ptr [RBX + 0x28]
CMP R13,RCX
MOV RDX,RCX
CMOVBE RDX,R13
TEST RDX,RDX
JZ 0x001db56e
MOV RSI,qword ptr [RBX + 0x20]
MOV RDI,qword ptr [RBP + -0x278]
MOV qword ptr [RBP + -0x250],RCX
CALL 0x00147840
MOV RCX,qword ptr [RBP + -0x250]
TEST EAX,EAX
JNZ 0x001db589
MOV R9,R13
SUB R9,RCX
CMP R9,0x7fffffff
JG 0x001db5c9
CMP R9,-0x80000000
JL 0x001db58d
MOV EAX,R9D
TEST EAX,EAX
JNS 0x001db5c9
MOV RDI,qword ptr [RBP + -0x270]
MOV RAX,qword ptr [RBP + -0x200]
LEA RCX,[RBP + -0x178]
LEA R8,[RBP + -0x185]
LEA RDX,[0x3798ac]
MOV RSI,RBX
ADD RDI,0x88
MOV qword ptr [RBP + -0x178],RAX
CALL 0x001d5a40
MOV RBX,RAX
MOV R13D,dword ptr [RBP + -0x208]
XOR EDX,EDX
LEA RDI,[RBX + 0x40]
MOV qword ptr [RBP + -0x250],RDI
XOR R13,R15
MOV RAX,R13
MOV RCX,R13
DIV qword ptr [RBX + 0x48]
MOV RBX,RDX
LEA RDX,[RBP + -0xf0]
MOV RSI,RBX
CALL 0x001b4d40
TEST RAX,RAX
JZ 0x001db668
CMP qword ptr [RAX],0x0
JZ 0x001db668
MOV RDI,qword ptr [RBP + -0xa0]
CMP RDI,qword ptr [RBP + -0x248]
JZ 0x001daa58
CALL 0x002dac60
JMP 0x001daa58
MOV RSI,qword ptr [RBP + -0x1a8]
MOV EDX,EBX
MOV RDI,R15
CALL 0x001ca630
MOV EBX,dword ptr [RBP + -0x184]
MOV EDX,0x1
MOV RAX,RBX
MOV ECX,EBX
SHR RAX,0x3
SHL RDX,CL
AND EAX,0x1ffffff8
ADD RAX,qword ptr [RBP + -0xd0]
OR qword ptr [RAX],RDX
JMP 0x001dafa0
MOV EDI,0x20
CALL 0x002d9490
MOV EDI,dword ptr [RBP + -0x208]
MOV qword ptr [RAX + 0x8],R15
MOV RCX,RAX
MOV RDX,R13
MOV qword ptr [RAX],0x0
MOV R8D,0x1
MOV RSI,RBX
MOV dword ptr [RAX + 0x10],EDI
MOV RDI,qword ptr [RBP + -0x250]
CALL 0x001ba010
JMP 0x001db607
SUB RSP,0x8
PUSH qword ptr [RBP + -0x268]
MOV ECX,EBX
MOV RDI,R15
MOV R9,qword ptr [RBP + -0x1e8]
PUSH qword ptr [RBP + -0x1c0]
MOV R8,qword ptr [RBP + -0x198]
PUSH qword ptr [RBP + -0x1b8]
MOV RDX,qword ptr [RBP + -0x1a8]
MOV RSI,qword ptr [RBP + -0x1e0]
CALL 0x001d4330
ADD RSP,0x20
TEST AL,AL
JNZ 0x001dbaa0
MOV EBX,dword ptr [RBP + -0x184]
JMP 0x001dafa0
MOV RCX,qword ptr [R15 + 0x88]
MOV qword ptr [RBP + -0x238],RCX
TEST RCX,RCX
JZ 0x001db7a0
MOV RDI,qword ptr [RBP + -0x1e0]
MOV RDX,qword ptr [RDI + 0x298]
CMP byte ptr [RDX + 0xa0],0x0
JNZ 0x001da1f0
LEA RDX,[0x378be8]
MOV ESI,0x59f
LEA RDI,[0x377f68]
CALL 0x0017c650
MOV RAX,qword ptr [R15 + 0xe0]
CMP qword ptr [RAX + RCX*0x1],-0x1
JZ 0x001daa92
LEA RDX,[0x378be8]
MOV ESI,0x6e4
LEA RDI,[0x377f68]
CALL 0x0017c650
MOV RDI,qword ptr [R15 + 0x88]
MOV qword ptr [RBP + -0x238],RDI
TEST RDI,RDI
JNZ 0x001da1f0
NOP
CMP qword ptr [RBP + -0x210],0x0
JZ 0x001dc3fb
MOV R12D,dword ptr [RBP + -0x19c]
TEST R12D,R12D
JZ 0x001da6c4
MOV EDI,0x40
CALL 0x002d9490
MOV ECX,dword ptr [RBP + -0x19c]
MOV RDX,qword ptr [RBP + -0x210]
MOV RDI,R15
MOV RBX,RAX
MOV RSI,RAX
MOV qword ptr [RBP + -0x238],RAX
SHL ECX,0x6
CALL 0x001bd460
MOV RSI,RBX
MOV RDI,qword ptr [RBX]
MOV qword ptr [R15 + 0x88],RBX
MOV RCX,qword ptr [RSI + 0x18]
MOV RBX,qword ptr [RBX + 0x10]
MOV RAX,qword ptr [0x0043e6b0]
MOV qword ptr [RBP + -0x1e8],RDI
MOV qword ptr [RBP + -0x1c0],RBX
MOV RDI,qword ptr [RSI + 0x20]
MOV RBX,qword ptr [RSI + 0x30]
MOV RAX,qword ptr [RAX + 0x10]
MOV qword ptr [RBP + -0x1f0],RCX
MOV RCX,qword ptr [RSI + 0x38]
MOV RSI,qword ptr [RSI + 0x8]
MOV qword ptr [RBP + -0x1f8],RDI
MOV qword ptr [RBP + -0x218],RBX
MOV qword ptr [RBP + -0x220],RCX
MOV qword ptr [RBP + -0x1b8],RSI
TEST RAX,RAX
JNZ 0x001dc413
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
MOV RAX,qword ptr [R15 + 0xe0]
CMP qword ptr [RAX + RCX*0x1],-0x1
JZ 0x001daa92
LEA RDX,[0x378be8]
MOV ESI,0x6f9
LEA RDI,[0x377f68]
CALL 0x0017c650
MOV RCX,qword ptr [RBP + -0x198]
MOV RSI,qword ptr [RBP + -0x1a8]
MOV EDX,EBX
MOV RDI,R15
LEA R8,[RBP + -0x180]
CALL 0x001ce980
TEST AL,AL
JNZ 0x001dac4f
MOV EBX,dword ptr [RBP + -0x184]
JMP 0x001dafa0
CMP byte ptr [RBP + -0x19d],0x0
JNZ 0x001db940
MOV RAX,qword ptr [RBP + -0x210]
MOV RBX,qword ptr [RAX]
TEST RBX,RBX
JZ 0x001db905
MOV RDI,RBX
CALL 0x0017a780
MOV ESI,0x18
MOV RDI,RBX
CALL 0x002dac50
MOV RAX,qword ptr [RBP + -0x210]
MOV RBX,qword ptr [RAX + 0x8]
MOV qword ptr [RAX],0x0
TEST RBX,RBX
JZ 0x001db931
MOV RDI,RBX
CALL 0x0017a780
MOV ESI,0x18
MOV RDI,RBX
CALL 0x002dac50
MOV RAX,qword ptr [RBP + -0x210]
MOV qword ptr [RAX + 0x8],0x0
MOV RDI,qword ptr [RBP + -0x1d8]
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x1d0]
CALL 0x002dac60
LEA RSP,[RBP + -0x28]
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
MOV RDX,qword ptr [R15 + 0x58]
MOV RCX,qword ptr [R15 + 0x50]
MOV RAX,RDX
SUB RAX,RCX
SAR RAX,0x3
CMP RAX,qword ptr [RBP + -0x228]
JC 0x001dbc53
JBE 0x001db9a5
MOV RAX,qword ptr [RBP + -0x228]
LEA RAX,[RCX + RAX*0x8]
CMP RDX,RAX
JZ 0x001db9a5
MOV qword ptr [R15 + 0x58],RAX
MOV RDX,qword ptr [R15 + 0xe8]
MOV RCX,qword ptr [R15 + 0xe0]
MOV RAX,RDX
SUB RAX,RCX
SAR RAX,0x3
CMP RAX,qword ptr [RBP + -0x228]
JC 0x001dc26e
JBE 0x001da73d
MOV RAX,qword ptr [RBP + -0x228]
LEA RAX,[RCX + RAX*0x8]
CMP RDX,RAX
JZ 0x001da73d
MOV qword ptr [R15 + 0xe8],RAX
JMP 0x001da73d
LEA RAX,[RBP + -0xd0]
MOV EDX,0x1
MOV qword ptr [RBP + -0x268],RAX
NOP dword ptr [RAX + RAX*0x1]
LEA RDI,[0x378458]
MOV dword ptr [RBP + -0x198],EDX
CALL 0x00147320
MOV EDX,dword ptr [RBP + -0x198]
MOV RCX,RBX
MOV RDI,R15
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001bd150
MOV RDI,qword ptr [RBP + -0x110]
TEST RDI,RDI
JZ 0x001dba41
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x130]
TEST RDI,RDI
JZ 0x001dba52
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x150]
TEST RDI,RDI
JZ 0x001dba63
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x170]
TEST RDI,RDI
JZ 0x001dba74
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0x268]
CALL 0x001d5cd0
JMP 0x001db940
LEA RSI,[RBP + -0x184]
LEA RDI,[RBP + -0x150]
CALL 0x001c6700
JMP 0x001daa8c
XOR R13D,R13D
JMP 0x001dac4f
CMP RBX,RAX
JZ 0x001da588
LEA RAX,[RBP + -0xa0]
MOV R14,RAX
NOP dword ptr [RAX + RAX*0x1]
MOV EDX,dword ptr [RBX]
MOV RDI,qword ptr [RBP + -0x1d8]
MOV RSI,qword ptr [RBP + -0x1d0]
MOV R9,qword ptr [RBP + -0x220]
MOV EAX,EDX
MOV R8,qword ptr [RBP + -0x218]
SHL EAX,0x6
ADD RAX,qword ptr [RBP + -0x1e8]
MOV qword ptr [RBP + -0xa0],RAX
MOV EAX,EDX
MOV ECX,dword ptr [RDI + RAX*0x4]
MOV RDI,R15
PUSH RCX
MOV EAX,dword ptr [RSI + RAX*0x4]
MOV RCX,qword ptr [RBP + -0x1f8]
MOV RSI,qword ptr [RBP + -0x1a8]
PUSH RAX
PUSH R14
PUSH RDX
MOV RDX,qword ptr [RBP + -0x1f0]
CALL 0x001c3ea0
ADD RSP,0x20
ADD RBX,0x4
CMP qword ptr [RBP + -0x148],RBX
JNZ 0x001dbac0
JMP 0x001da588
LEA RDX,[RAX*0x8]
MOV RDI,qword ptr [R15 + 0x1f0]
SUB RDX,RAX
MOV RAX,RDX
MOV RCX,RDI
MOV qword ptr [RBP + -0x198],RDI
SHL RAX,0x4
SUB RCX,R12
MOV RDI,RAX
MOV qword ptr [RBP + -0x1b0],RCX
MOV qword ptr [RBP + -0x1c8],RAX
CALL 0x002d9490
MOV R13,RAX
CMP R12,qword ptr [RBP + -0x198]
JZ 0x001dc0ba
MOV RDX,qword ptr [RBP + -0x198]
LEA RAX,[R12 + 0x10]
MOV RCX,0xdb6db6db6db6db7
SUB RDX,0x70
SUB RDX,R12
SHR RDX,0x4
IMUL RDX,RCX
MOV RCX,0xfffffffffffffff
AND RDX,RCX
ADD RDX,0x1
LEA RSI,[RDX*0x8]
SUB RSI,RDX
MOV RDX,R13
SHL RSI,0x4
ADD RSI,R13
JMP 0x001dbc39
MOV qword ptr [RDX],RCX
MOV RCX,qword ptr [RAX]
MOV qword ptr [RDX + 0x10],RCX
MOV RCX,qword ptr [RAX + -0x8]
ADD RDX,0x70
MOV qword ptr [RDX + -0x68],RCX
MOV ECX,dword ptr [RAX + 0x10]
MOV qword ptr [RAX + -0x10],RAX
ADD RAX,0x70
MOV qword ptr [RAX + -0x78],0x0
MOV byte ptr [RAX + -0x70],0x0
MOV dword ptr [RDX + -0x50],ECX
MOV ECX,dword ptr [RAX + -0x5c]
MOV dword ptr [RDX + -0x4c],ECX
MOV ECX,dword ptr [RAX + -0x58]
MOV dword ptr [RDX + -0x48],ECX
MOVDQU XMM0,xmmword ptr [RAX + -0x54]
MOVUPS xmmword ptr [RDX + -0x44],XMM0
MOVDQU XMM1,xmmword ptr [RAX + -0x44]
MOVUPS xmmword ptr [RDX + -0x34],XMM1
MOVDQU XMM2,xmmword ptr [RAX + -0x34]
MOVUPS xmmword ptr [RDX + -0x24],XMM2
MOVDQU XMM3,xmmword ptr [RAX + -0x24]
MOVUPS xmmword ptr [RDX + -0x14],XMM3
CMP RDX,RSI
JZ 0x001dc0ba
LEA RCX,[RDX + 0x10]
MOV qword ptr [RDX],RCX
MOV RCX,qword ptr [RAX + -0x10]
CMP RCX,RAX
JNZ 0x001dbbd0
MOVDQU XMM4,xmmword ptr [RAX]
MOVUPS xmmword ptr [RDX + 0x10],XMM4
JMP 0x001dbbda
MOV RSI,qword ptr [RBP + -0x228]
LEA RDI,[R15 + 0x50]
SUB RSI,RAX
CALL 0x00192810
JMP 0x001db9a5
TEST RAX,RAX
JZ 0x001dc3cb
CMP byte ptr [RAX + 0x4b19],0x0
MOV EBX,dword ptr [RBP + -0x184]
JZ 0x001dafa0
MOV RAX,qword ptr [R15]
LEA RDX,[0x1ce6f0]
MOV R12,qword ptr [R15 + 0x8]
MOV RAX,qword ptr [RAX + 0x80]
CMP RAX,RDX
JNZ 0x001dc2ab
MOV RDI,qword ptr [RBP + -0x200]
LEA RSI,[R15 + 0xf8]
MOV EDX,EBX
CALL 0x00168a50
MOV RAX,qword ptr [0x0043e8e8]
MOV RBX,qword ptr [RBP + -0xa0]
LEA RDI,[0x378488]
MOV R13,RAX
CALL 0x00147320
MOV RCX,R12
MOV RDX,RBX
MOV RSI,R13
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00178480
JMP 0x001dc237
LEA RSI,[RBP + -0x184]
LEA RDI,[RBP + -0x130]
CALL 0x001c6700
JMP 0x001daa8c
CMP RSI,RAX
JZ 0x001da5b9
LEA RAX,[RBP + -0xf0]
MOV qword ptr [RBP + -0x198],RSI
MOV R14,-0x1
MOV qword ptr [RBP + -0x1b0],RAX
LEA RAX,[RBP + -0xa0]
MOV qword ptr [RBP + -0x1c0],RAX
ADD RAX,0x10
MOV qword ptr [RBP + -0x1c8],RAX
JMP 0x001dbe0f
CMP dword ptr [RBP + -0x19c],R13D
JBE 0x001dbdf3
MOV RAX,qword ptr [R15 + 0x50]
MOV R13,qword ptr [RAX + R13*0x8]
CMP R13,0x2
JZ 0x001dbe60
TEST R13,R13
JZ 0x001dbf10
MOV EDI,0x28
CALL 0x002d9490
MOV R9,RAX
MOV qword ptr [RAX],0x0
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV qword ptr [RAX + 0x18],0x0
MOV qword ptr [RAX + 0x20],0x0
CMP R12D,dword ptr [R15 + 0x38]
JNC 0x001dc3e3
MOV RAX,qword ptr [R15 + 0x68]
MOV EBX,R12D
MOV R8,R13
MOV EDX,R12D
MOV RCX,qword ptr [RBP + -0x1b0]
MOV RDI,qword ptr [RBP + -0x1a8]
MOV RSI,R15
MOV RAX,qword ptr [RAX]
MOV qword ptr [RAX + RBX*0x8],R9
CALL 0x001b2ab0
MOV RDX,qword ptr [R15 + 0x50]
MOV qword ptr [RDX + RBX*0x8],RAX
MOV RAX,qword ptr [R15 + 0xe0]
MOV qword ptr [RAX + RBX*0x8],R14
ADD qword ptr [RBP + -0x198],0x4
MOV RAX,qword ptr [RBP + -0x198]
CMP qword ptr [RBP + -0x168],RAX
JZ 0x001da5b9
MOV RAX,qword ptr [RBP + -0x198]
MOV R12D,dword ptr [RAX]
MOV EBX,R12D
SHL EBX,0x6
ADD RBX,qword ptr [RBP + -0x1e8]
MOV R13D,dword ptr [RBX + 0x2c]
MOV qword ptr [RBP + -0xf0],RBX
CMP R13D,0xfeff
JBE 0x001dbd50
LEA RDI,[R15 + 0xf8]
CALL 0x001682d0
ADD R13D,dword ptr [R15 + 0x110]
JMP 0x001dbd50
CMP byte ptr [RBP + -0x19d],0x0
JNZ 0x001dbdf3
MOV RAX,qword ptr [RBP + -0xf0]
MOV RDI,qword ptr [RBP + -0x1c0]
LEA RCX,[R15 + 0x200]
MOV qword ptr [RBP + -0x1e0],RCX
MOV ESI,dword ptr [RAX]
ADD RSI,qword ptr [RBP + -0x1b8]
MOV R13D,dword ptr [RAX + 0x4]
CALL 0x001bde30
MOV dword ptr [RBP + -0x80],R12D
MOV RSI,qword ptr [RBP + -0x1c0]
LEA RDI,[R15 + 0x200]
MOV qword ptr [RBP + -0x7c],0x0
MOVDQU XMM4,xmmword ptr [RBX]
MOVUPS xmmword ptr [RBP + -0x74],XMM4
MOVDQU XMM5,xmmword ptr [RBX + 0x10]
MOVUPS xmmword ptr [RBP + -0x64],XMM5
MOVDQU XMM6,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBP + -0x54],XMM6
MOVDQU XMM7,xmmword ptr [RBX + 0x30]
MOV dword ptr [RBP + -0x70],R13D
MOVUPS xmmword ptr [RBP + -0x44],XMM7
CALL 0x001d6880
MOV RDI,qword ptr [RBP + -0xa0]
CMP RDI,qword ptr [RBP + -0x1c8]
JZ 0x001dbef2
CALL 0x002dac60
MOV RAX,qword ptr [R15 + 0x50]
MOV qword ptr [RAX + R12*0x8],0x2
MOV RAX,qword ptr [R15 + 0xe0]
MOV qword ptr [RAX + R12*0x8],R14
JMP 0x001dbdf3
MOV qword ptr [RAX + R12*0x8],0x0
MOV RAX,qword ptr [R15 + 0xe0]
MOV qword ptr [RAX + R12*0x8],R14
JMP 0x001dbdf3
CMP RAX,RBX
JZ 0x001dbf81
NOP dword ptr [RAX]
MOV EAX,dword ptr [RBX]
MOV RDI,qword ptr [RBP + -0x1d8]
MOV RSI,qword ptr [RBP + -0x1d0]
MOV R8,qword ptr [RBP + -0x1f8]
MOV EDX,dword ptr [RDI + RAX*0x4]
MOV R9,RAX
MOV RCX,qword ptr [RBP + -0x1f0]
MOV RDI,qword ptr [RBP + -0x1a8]
PUSH RDX
MOV EAX,dword ptr [RSI + RAX*0x4]
MOV RDX,R15
XOR ESI,ESI
PUSH RAX
CALL 0x001b8f10
POP RSI
ADD RBX,0x4
POP RDI
CMP qword ptr [RBP + -0x128],RBX
JNZ 0x001dbf38
MOV RAX,qword ptr [RBP + -0x108]
MOV RBX,qword ptr [RBP + -0x110]
CMP RBX,RAX
JZ 0x001da5f1
NOP dword ptr [RAX + RAX*0x1]
MOV EAX,dword ptr [RBX]
MOV RDI,qword ptr [RBP + -0x1d8]
MOV RSI,qword ptr [RBP + -0x1d0]
MOV R8,qword ptr [RBP + -0x1f8]
MOV EDX,dword ptr [RDI + RAX*0x4]
MOV R9,RAX
MOV RCX,qword ptr [RBP + -0x1f0]
MOV RDI,qword ptr [RBP + -0x1a8]
PUSH RDX
MOV EAX,dword ptr [RSI + RAX*0x4]
MOV RDX,R15
MOV ESI,0x1
PUSH RAX
CALL 0x001b8f10
POP RDX
ADD RBX,0x4
POP RCX
CMP qword ptr [RBP + -0x108],RBX
JNZ 0x001dbfa0
CMP byte ptr [RBP + -0x19d],0x0
JNZ 0x001da5fe
MOV RAX,qword ptr [RBP + -0x210]
MOV RBX,qword ptr [RAX]
TEST RBX,RBX
JZ 0x001dc01d
MOV RDI,RBX
CALL 0x0017a780
MOV ESI,0x18
MOV RDI,RBX
CALL 0x002dac50
MOV RAX,qword ptr [RBP + -0x210]
MOV RBX,qword ptr [RAX + 0x8]
MOV qword ptr [RAX],0x0
TEST RBX,RBX
JZ 0x001dc049
MOV RDI,RBX
CALL 0x0017a780
MOV ESI,0x18
MOV RDI,RBX
CALL 0x002dac50
MOV RAX,qword ptr [RBP + -0x210]
MOV qword ptr [RAX + 0x8],0x0
JMP 0x001da65c
TEST AL,AL
MOV EDX,dword ptr [RBP + -0x184]
MOV RCX,qword ptr [R15 + 0x50]
SETNZ AL
MOVZX EAX,AL
MOV RBX,RDX
ADD RAX,0x1
MOV qword ptr [RCX + RDX*0x8],RAX
MOV RAX,qword ptr [R15 + 0xe0]
MOV qword ptr [RAX + RDX*0x8],-0x1
JMP 0x001daa92
LEA RDX,[RBP + -0x184]
LEA RDI,[RBP + -0x170]
CALL 0x00160c40
JMP 0x001daa8c
MOV byte ptr [R15 + 0x78],0x1
JMP 0x001db332
MOV RAX,qword ptr [R15 + 0x1f0]
MOV R12,qword ptr [R15 + 0x1e8]
CMP RAX,R12
JZ 0x001dc0ff
MOV qword ptr [RBP + -0x198],RAX
NOP dword ptr [RAX]
MOV RDI,qword ptr [R12]
LEA RAX,[R12 + 0x10]
CMP RDI,RAX
JZ 0x001dc0eb
CALL 0x002dac60
ADD R12,0x70
CMP qword ptr [RBP + -0x198],R12
JNZ 0x001dc0d8
MOV R12,qword ptr [R15 + 0x1e8]
TEST R12,R12
JZ 0x001dc10c
MOV RDI,R12
CALL 0x002dac60
MOV RAX,qword ptr [RBP + -0x1b0]
MOV qword ptr [R15 + 0x1e8],R13
ADD RAX,R13
ADD R13,qword ptr [RBP + -0x1c8]
MOV qword ptr [R15 + 0x1f0],RAX
MOV qword ptr [R15 + 0x1f8],R13
JMP 0x001da7d6
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dc3b3
CMP byte ptr [RAX + 0x4be1],0x0
MOV EBX,dword ptr [RBP + -0x184]
JZ 0x001dafa0
MOV RAX,qword ptr [RBP + -0x1e0]
MOV EDX,EBX
MOV RSI,R15
MOV RDI,qword ptr [RAX + 0x298]
CALL 0x0017f670
MOV RCX,qword ptr [RAX]
MOV R13,qword ptr [RAX + 0x8]
MOV RSI,RAX
MOV RDI,qword ptr [RBP + -0x200]
CALL qword ptr [RCX + 0x80]
MOV RAX,qword ptr [RBP + -0xa0]
LEA RCX,[0x1ce6f0]
MOV EDX,dword ptr [RBP + -0x184]
LEA R12,[RBP + -0xf0]
MOV qword ptr [RBP + -0x250],RAX
MOV RAX,qword ptr [R15 + 0x8]
MOV qword ptr [RBP + -0x208],RAX
MOV RAX,qword ptr [R15]
MOV RAX,qword ptr [RAX + 0x80]
CMP RAX,RCX
JNZ 0x001dc29e
LEA RSI,[R15 + 0xf8]
MOV RDI,R12
CALL 0x00168a50
MOV RAX,qword ptr [0x0043e8e8]
MOV RBX,qword ptr [RBP + -0xf0]
LEA RDI,[0x3784c0]
MOV qword ptr [RBP + -0x198],RAX
CALL 0x00147320
MOV R8,qword ptr [RBP + -0x250]
MOV R9,R13
MOV RDX,RBX
MOV RCX,qword ptr [RBP + -0x208]
MOV RSI,qword ptr [RBP + -0x198]
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00178480
MOV RDI,qword ptr [RBP + -0xf0]
ADD R12,0x10
CMP RDI,R12
JZ 0x001dc237
CALL 0x002dac60
MOV RDI,qword ptr [RBP + -0xa0]
CMP RDI,qword ptr [RBP + -0x248]
JZ 0x001db6f8
CALL 0x002dac60
JMP 0x001db6f8
MOV RBX,qword ptr [RBP + -0x250]
JMP 0x001db58d
MOV RDI,R15
CALL 0x001bfe80
JMP 0x001da595
MOV RSI,qword ptr [RBP + -0x228]
LEA RDI,[R15 + 0xe0]
SUB RSI,RAX
CALL 0x00167c60
JMP 0x001da73d
LEA RDX,[RBP + -0x180]
LEA RDI,[RAX + 0x38]
CALL 0x001c5890
JMP 0x001da7a4
MOV RSI,R15
MOV RDI,R12
CALL RAX
JMP 0x001dc1dc
MOV EDX,EBX
MOV RSI,R15
MOV RDI,qword ptr [RBP + -0x200]
CALL RAX
JMP 0x001dbcba
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379833]
MOV ESI,0x69
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x378be8]
MOV ESI,0x7a0
LEA RDI,[0x377f68]
CALL 0x0017c650
LEA RDX,[0x378be8]
MOV ESI,0x76c
LEA RDI,[0x377f68]
CALL 0x0017c650
CALL 0x001bcf60
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379833]
MOV ESI,0x69
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x378be8]
MOV ESI,0x751
LEA RDI,[0x377f68]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379490]
MOV ESI,0x541
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x378be8]
MOV ESI,0x597
LEA RDI,[0x377f68]
CALL 0x0017c650
MOV byte ptr [RBP + -0x19f],0x1
MOV byte ptr [RBP + -0x19d],0x0
MOV byte ptr [RBP + -0x19e],0x1
JMP 0x001da266
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x378be8]
MOV ESI,0x59d
LEA RDI,[0x377f68]
CALL 0x0017c650
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
(translation_unit "void FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */\n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}\n\n" (function_definition "void FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */\n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}" primitive_type (function_declarator "FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)" identifier (parameter_list "(uint *param_1,long param_2,long param_3,long *param_4)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_4" (sized_type_specifier "long" long) (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */\n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "undefined1 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar18;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "long lVar20;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined8 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "long *plVar25;" (sized_type_specifier "long" long) (pointer_declarator "*plVar25" * identifier) ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "long lVar28;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar29;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar30;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar31;" type_identifier identifier ;) (declaration "ulong uVar32;" type_identifier identifier ;) (declaration "undefined8 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined8 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "size_t sVar35;" primitive_type identifier ;) (declaration "uint *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "uint *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "byte *pbVar39;" type_identifier (pointer_declarator "*pbVar39" * identifier) ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "long *plVar41;" (sized_type_specifier "long" long) (pointer_declarator "*plVar41" * identifier) ;) (declaration "uint uVar42;" type_identifier identifier ;) (declaration "uint uVar43;" type_identifier identifier ;) (declaration "ulong uVar44;" type_identifier identifier ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "bool bVar46;" primitive_type identifier ;) (declaration "bool bVar47;" primitive_type identifier ;) (declaration "byte bVar48;" type_identifier identifier ;) (declaration "void **local_270;" primitive_type (pointer_declarator "**local_270" * (pointer_declarator "*local_270" * identifier)) ;) (declaration "long *local_240;" (sized_type_specifier "long" long) (pointer_declarator "*local_240" * identifier) ;) (declaration "ulong local_238;" type_identifier identifier ;) (declaration "long local_228;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_220;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_210;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_200;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_1f8;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_1f0;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_1c8;" type_identifier identifier ;) (declaration "long local_1c0;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *local_1a0;" type_identifier (pointer_declarator "*local_1a0" * identifier) ;) (declaration "undefined1 local_18d;" type_identifier identifier ;) (declaration "uint local_18c;" type_identifier identifier ;) (declaration "uint *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "uint **local_180;" type_identifier (pointer_declarator "**local_180" * (pointer_declarator "*local_180" * identifier)) ;) (declaration "uint *local_178;" type_identifier (pointer_declarator "*local_178" * identifier) ;) (declaration "uint *local_170;" type_identifier (pointer_declarator "*local_170" * identifier) ;) (declaration "uint *local_168;" type_identifier (pointer_declarator "*local_168" * identifier) ;) (declaration "uint *local_158;" type_identifier (pointer_declarator "*local_158" * identifier) ;) (declaration "uint *local_150;" type_identifier (pointer_declarator "*local_150" * identifier) ;) (declaration "undefined8 local_148;" type_identifier identifier ;) (declaration "uint *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "uint *local_130;" type_identifier (pointer_declarator "*local_130" * identifier) ;) (declaration "undefined8 local_128;" type_identifier identifier ;) (declaration "uint *local_118;" type_identifier (pointer_declarator "*local_118" * identifier) ;) (declaration "uint *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "undefined8 local_108;" type_identifier identifier ;) (declaration "uint *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "uint auStack_e8 [4];" type_identifier (array_declarator "auStack_e8 [4]" identifier [ number_literal ]) ;) (declaration "void *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "uint *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "void *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "uint auStack_98 [4];" type_identifier (array_declarator "auStack_98 [4]" identifier [ number_literal ]) ;) (declaration "uint local_88;" type_identifier identifier ;) (declaration "undefined8 local_84;" type_identifier identifier ;) (declaration "undefined8 local_7c;" type_identifier identifier ;) (declaration "undefined8 uStack_74;" type_identifier identifier ;) (declaration "undefined8 local_6c;" type_identifier identifier ;) (declaration "undefined8 uStack_64;" type_identifier identifier ;) (declaration "undefined8 local_5c;" type_identifier identifier ;) (declaration "undefined8 uStack_54;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (expression_statement "bVar48 = 0;" (assignment_expression "bVar48 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = param_1[0xe];" (assignment_expression "uVar2 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);" (assignment_expression "uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" identifier = (pointer_expression "*(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" * (cast_expression "(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar17 == 0) goto LAB_001db857;" if (parenthesized_expression "(lVar17 == 0)" ( (binary_expression "lVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001db857;" goto statement_identifier ;)) (if_statement "if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" if (parenthesized_expression "(*(char *)(lVar17 + 0x2809) == '\0')" ( (binary_expression "*(char *)(lVar17 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar17 + 0x2809)" * (cast_expression "(char *)(lVar17 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x2809)" ( (binary_expression "lVar17 + 0x2809" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }" { (if_statement "if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" if (parenthesized_expression "(*(int *)(lVar17 + 0x9050) == 0)" ( (binary_expression "*(int *)(lVar17 + 0x9050) == 0" (pointer_expression "*(int *)(lVar17 + 0x9050)" * (cast_expression "(int *)(lVar17 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x9050)" ( (binary_expression "lVar17 + 0x9050" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }" { (if_statement "if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }" if (parenthesized_expression "(*(char *)(param_3 + 0x372) == '\0')" ( (binary_expression "*(char *)(param_3 + 0x372) == '\0'" (pointer_expression "*(char *)(param_3 + 0x372)" * (cast_expression "(char *)(param_3 + 0x372)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x372)" ( (binary_expression "param_3 + 0x372" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }" { (if_statement "if (uVar2 == 0) {\n          return;\n        }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "local_1c8 = param_4[2];" (assignment_expression "local_1c8 = param_4[2]" identifier = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "local_1f0 = *(long *)(*param_4 + 0x10);" (assignment_expression "local_1f0 = *(long *)(*param_4 + 0x10)" identifier = (pointer_expression "*(long *)(*param_4 + 0x10)" * (cast_expression "(long *)(*param_4 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 0x10)" ( (binary_expression "*param_4 + 0x10" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "local_1f8 = param_4[3];" (assignment_expression "local_1f8 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }" if (parenthesized_expression "(local_1f8 != 0)" ( (binary_expression "local_1f8 != 0" identifier != number_literal) )) (compound_statement "{\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }" { (expression_statement "local_1f8 = *(long *)(local_1f8 + 0x10);" (assignment_expression "local_1f8 = *(long *)(local_1f8 + 0x10)" identifier = (pointer_expression "*(long *)(local_1f8 + 0x10)" * (cast_expression "(long *)(local_1f8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f8 + 0x10)" ( (binary_expression "local_1f8 + 0x10" identifier + number_literal) ))))) ;) })) (expression_statement "local_200 = param_4[4];" (assignment_expression "local_200 = param_4[4]" identifier = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "local_220 = param_4[6];" (assignment_expression "local_220 = param_4[6]" identifier = (subscript_expression "param_4[6]" identifier [ number_literal ])) ;) (if_statement "if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }" if (parenthesized_expression "(local_220 != 0)" ( (binary_expression "local_220 != 0" identifier != number_literal) )) (compound_statement "{\n          local_220 = *(long *)(local_220 + 0x10);\n        }" { (expression_statement "local_220 = *(long *)(local_220 + 0x10);" (assignment_expression "local_220 = *(long *)(local_220 + 0x10)" identifier = (pointer_expression "*(long *)(local_220 + 0x10)" * (cast_expression "(long *)(local_220 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_220 + 0x10)" ( (binary_expression "local_220 + 0x10" identifier + number_literal) ))))) ;) })) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "local_228 = param_4[7];" (assignment_expression "local_228 = param_4[7]" identifier = (subscript_expression "param_4[7]" identifier [ number_literal ])) ;) (expression_statement "local_240 = (long *)0x0;" (assignment_expression "local_240 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1c0 = *(long *)(param_4[1] + 0x10);" (assignment_expression "local_1c0 = *(long *)(param_4[1] + 0x10)" identifier = (pointer_expression "*(long *)(param_4[1] + 0x10)" * (cast_expression "(long *)(param_4[1] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4[1] + 0x10)" ( (binary_expression "param_4[1] + 0x10" (subscript_expression "param_4[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (goto_statement "goto LAB_001da266;" goto statement_identifier ;) })) (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" identifier = (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) ))))) ;) (if_statement "if (local_240 != (long *)0x0) goto LAB_001da1f0;" if (parenthesized_expression "(local_240 != (long *)0x0)" ( (binary_expression "local_240 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001da1f0;" goto statement_identifier ;)) }) (else_clause "else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" else (compound_statement "{\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" { (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" identifier = (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) ))))) ;) (if_statement "if (local_240 != (long *)0x0) goto LAB_001db71f;" if (parenthesized_expression "(local_240 != (long *)0x0)" ( (binary_expression "local_240 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001db71f;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" else (compound_statement "{\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" { (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" identifier = (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) ))))) ;) (if_statement "if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }" if (parenthesized_expression "(local_240 != (long *)0x0)" ( (binary_expression "local_240 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }" { (if_statement "if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }" if (parenthesized_expression "(*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0')" ( (binary_expression "*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0'" (pointer_expression "*(char *)(*(long *)(param_2 + 0x290) + 0x18)" * (cast_expression "(char *)(*(long *)(param_2 + 0x290) + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x290) + 0x18)" ( (binary_expression "*(long *)(param_2 + 0x290) + 0x18" (pointer_expression "*(long *)(param_2 + 0x290)" * (cast_expression "(long *)(param_2 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }" { comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x59d,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x59d,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" if (parenthesized_expression "(*(int *)(lVar17 + 0x9050) != 0)" ( (binary_expression "*(int *)(lVar17 + 0x9050) != 0" (pointer_expression "*(int *)(lVar17 + 0x9050)" * (cast_expression "(int *)(lVar17 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x9050)" ( (binary_expression "lVar17 + 0x9050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" { (labeled_statement "LAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" statement_identifier : (if_statement "if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" if (parenthesized_expression "(*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0')" ( (binary_expression "*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0'" (pointer_expression "*(char *)(*(long *)(param_2 + 0x298) + 0xa0)" * (cast_expression "(char *)(*(long *)(param_2 + 0x298) + 0xa0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x298) + 0xa0)" ( (binary_expression "*(long *)(param_2 + 0x298) + 0xa0" (pointer_expression "*(long *)(param_2 + 0x298)" * (cast_expression "(long *)(param_2 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x59f,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x59f,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) }))) })) (labeled_statement "LAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }" statement_identifier : (if_statement "if (uVar2 == 0) {\n        return;\n      }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) }))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "local_1f0 = *local_240;" (assignment_expression "local_1f0 = *local_240" identifier = (pointer_expression "*local_240" * identifier)) ;) (expression_statement "local_1f8 = local_240[3];" (assignment_expression "local_1f8 = local_240[3]" identifier = (subscript_expression "local_240[3]" identifier [ number_literal ])) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "local_200 = local_240[4];" (assignment_expression "local_200 = local_240[4]" identifier = (subscript_expression "local_240[4]" identifier [ number_literal ])) ;) (expression_statement "local_1c8 = local_240[2];" (assignment_expression "local_1c8 = local_240[2]" identifier = (subscript_expression "local_240[2]" identifier [ number_literal ])) ;) (expression_statement "local_228 = local_240[7];" (assignment_expression "local_228 = local_240[7]" identifier = (subscript_expression "local_240[7]" identifier [ number_literal ])) ;) (expression_statement "local_220 = local_240[6];" (assignment_expression "local_220 = local_240[6]" identifier = (subscript_expression "local_240[6]" identifier [ number_literal ])) ;) (expression_statement "local_1c0 = local_240[1];" (assignment_expression "local_1c0 = local_240[1]" identifier = (subscript_expression "local_240[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001da266;" goto statement_identifier ;) })) }))) (if_statement "if (param_4 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }" if (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x597,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x597,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x597,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (if_statement "if (uVar2 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_240 = (long *)FUN_002d9490(0x40);" (assignment_expression "local_240 = (long *)FUN_002d9490(0x40)" identifier = (cast_expression "(long *)FUN_002d9490(0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);" (call_expression "FUN_001bd460(param_1,local_240,param_4,uVar2 << 6)" identifier (argument_list "(param_1,local_240,param_4,uVar2 << 6)" ( identifier , identifier , identifier , (binary_expression "uVar2 << 6" identifier << number_literal) ))) ;) (expression_statement "local_1f0 = *local_240;" (assignment_expression "local_1f0 = *local_240" identifier = (pointer_expression "*local_240" * identifier)) ;) (expression_statement "*(long **)(param_1 + 0x22) = local_240;" (assignment_expression "*(long **)(param_1 + 0x22) = local_240" (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_1f8 = local_240[3];" (assignment_expression "local_1f8 = local_240[3]" identifier = (subscript_expression "local_240[3]" identifier [ number_literal ])) ;) (expression_statement "local_1c8 = local_240[2];" (assignment_expression "local_1c8 = local_240[2]" identifier = (subscript_expression "local_240[2]" identifier [ number_literal ])) ;) (expression_statement "local_200 = local_240[4];" (assignment_expression "local_200 = local_240[4]" identifier = (subscript_expression "local_240[4]" identifier [ number_literal ])) ;) (expression_statement "local_220 = local_240[6];" (assignment_expression "local_220 = local_240[6]" identifier = (subscript_expression "local_240[6]" identifier [ number_literal ])) ;) (expression_statement "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_228 = local_240[7];" (assignment_expression "local_228 = local_240[7]" identifier = (subscript_expression "local_240[7]" identifier [ number_literal ])) ;) (expression_statement "local_1c0 = local_240[1];" (assignment_expression "local_1c0 = local_240[1]" identifier = (subscript_expression "local_240[1]" identifier [ number_literal ])) ;) (if_statement "if (lVar17 == 0) {\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(lVar17 == 0)" ( (binary_expression "lVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (labeled_statement "LAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (labeled_statement "LAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);" statement_identifier : (expression_statement "lVar17 = *(long *)(lVar17 + 0x9058);" (assignment_expression "lVar17 = *(long *)(lVar17 + 0x9058)" identifier = (pointer_expression "*(long *)(lVar17 + 0x9058)" * (cast_expression "(long *)(lVar17 + 0x9058)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x9058)" ( (binary_expression "lVar17 + 0x9058" identifier + number_literal) ))))) ;)) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (if_statement "if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }" if (parenthesized_expression "((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0))" ( (binary_expression "(lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)" (parenthesized_expression "(lVar17 != 0)" ( (binary_expression "lVar17 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)" ( (comma_expression "bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0" (assignment_expression "bVar27 = *(byte *)(lVar17 + 0xb0)" identifier = (pointer_expression "*(byte *)(lVar17 + 0xb0)" * (cast_expression "(byte *)(lVar17 + 0xb0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0xb0)" ( (binary_expression "lVar17 + 0xb0" identifier + number_literal) ))))) , (binary_expression "bVar27 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }" { (expression_statement "bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;" (assignment_expression "bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1" identifier = (binary_expression "*(byte *)(lVar17 + 0xb1) ^ 1" (pointer_expression "*(byte *)(lVar17 + 0xb1)" * (cast_expression "(byte *)(lVar17 + 0xb1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0xb1)" ( (binary_expression "lVar17 + 0xb1" identifier + number_literal) )))) ^ number_literal)) ;) })) (expression_statement "uVar44 = (ulong)uVar2;" (assignment_expression "uVar44 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar17 = FUN_002d9490(uVar44 * 4);" (assignment_expression "lVar17 = FUN_002d9490(uVar44 * 4)" identifier = (call_expression "FUN_002d9490(uVar44 * 4)" identifier (argument_list "(uVar44 * 4)" ( (binary_expression "uVar44 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);" do (compound_statement "{\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  }" { (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) (expression_statement "uVar32 = uVar31 + 1;" (assignment_expression "uVar32 = uVar31 + 1" identifier = (binary_expression "uVar31 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(lVar17 + uVar31 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar17 + uVar31 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar17 + uVar31 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar31 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar31 * 4)" ( (binary_expression "lVar17 + uVar31 * 4" identifier + (binary_expression "uVar31 * 4" identifier * number_literal)) )))) = number_literal) ;) }) while (parenthesized_expression "(uVar44 != uVar32)" ( (binary_expression "uVar44 != uVar32" identifier != identifier) )) ;) comment (expression_statement "lVar18 = FUN_002d9490(uVar44 * 4);" (assignment_expression "lVar18 = FUN_002d9490(uVar44 * 4)" identifier = (call_expression "FUN_002d9490(uVar44 * 4)" identifier (argument_list "(uVar44 * 4)" ( (binary_expression "uVar44 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);" do (compound_statement "{\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  }" { (expression_statement "*(undefined4 *)(lVar18 + uVar21 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar18 + uVar21 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar18 + uVar21 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar21 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar21 * 4)" ( (binary_expression "lVar18 + uVar21 * 4" identifier + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "bVar45 = uVar31 != uVar21;" (assignment_expression "bVar45 = uVar31 != uVar21" identifier = (binary_expression "uVar31 != uVar21" identifier != identifier)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (expression_statement "puVar37 = (uint *)(local_1f0 + 0x40);" (assignment_expression "puVar37 = (uint *)(local_1f0 + 0x40)" identifier = (cast_expression "(uint *)(local_1f0 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x40)" ( (binary_expression "local_1f0 + 0x40" identifier + number_literal) )))) ;) (if_statement "if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n    uVar43 = 0;\n  }" { (expression_statement "uVar43 = 0;" (assignment_expression "uVar43 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" else (compound_statement "{\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" { (expression_statement "uVar42 = 1;" (assignment_expression "uVar42 = 1" identifier = number_literal) ;) (expression_statement "uVar43 = 0;" (assignment_expression "uVar43 = 0" identifier = number_literal) ;) (expression_statement "local_1a0 = puVar37;" (assignment_expression "local_1a0 = puVar37" identifier = identifier) ;) (do_statement "do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);" do (compound_statement "{\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    }" { (if_statement "if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }" if (parenthesized_expression "(bVar27 != 0)" ( (binary_expression "bVar27 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }" { (expression_statement "uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);" (assignment_expression "uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" identifier = (binary_expression "(uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (parenthesized_expression "(uVar43 + 1)" ( (binary_expression "uVar43 + 1" identifier + number_literal) )) - (call_expression "(uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(ulong *)(local_1a0 + 2) & 2) == 0)" ( (binary_expression "(*(ulong *)(local_1a0 + 2) & 2) == 0" (parenthesized_expression "(*(ulong *)(local_1a0 + 2) & 2)" ( (binary_expression "*(ulong *)(local_1a0 + 2) & 2" (pointer_expression "*(ulong *)(local_1a0 + 2)" * (cast_expression "(ulong *)(local_1a0 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1a0 + 2)" ( (binary_expression "local_1a0 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) ))))) ;) })) (expression_statement "uVar4 = local_1a0[1];" (assignment_expression "uVar4 = local_1a0[1]" identifier = (subscript_expression "local_1a0[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }" if (parenthesized_expression "((uVar4 == 9) || (uVar4 == 4))" ( (binary_expression "(uVar4 == 9) || (uVar4 == 4)" (parenthesized_expression "(uVar4 == 9)" ( (binary_expression "uVar4 == 9" identifier == number_literal) )) || (parenthesized_expression "(uVar4 == 4)" ( (binary_expression "uVar4 == 4" identifier == number_literal) ))) )) (compound_statement "{\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }" { (expression_statement "uVar40 = local_1a0[0xb];" (assignment_expression "uVar40 = local_1a0[0xb]" identifier = (subscript_expression "local_1a0[0xb]" identifier [ number_literal ])) ;) (if_statement "if (0xfeff < uVar40) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }" if (parenthesized_expression "(0xfeff < uVar40)" ( (binary_expression "0xfeff < uVar40" number_literal < identifier) )) (compound_statement "{\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }" { comment (expression_statement "FUN_001682d0(param_1 + 0x3e);" (call_expression "FUN_001682d0(param_1 + 0x3e)" identifier (argument_list "(param_1 + 0x3e)" ( (binary_expression "param_1 + 0x3e" identifier + number_literal) ))) ;) (expression_statement "uVar40 = uVar40 + param_1[0x44];" (assignment_expression "uVar40 = uVar40 + param_1[0x44]" identifier = (binary_expression "uVar40 + param_1[0x44]" identifier + (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) })) (expression_statement "uVar21 = (ulong)uVar40;" (assignment_expression "uVar21 = (ulong)uVar40" identifier = (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" if (parenthesized_expression "((uVar40 == 0) || (uVar2 <= uVar40))" ( (binary_expression "(uVar40 == 0) || (uVar2 <= uVar40)" (parenthesized_expression "(uVar40 == 0)" ( (binary_expression "uVar40 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar2 <= uVar40)" ( (binary_expression "uVar2 <= uVar40" identifier <= identifier) ))) )) (compound_statement "{\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }" { (expression_statement "uVar22 = gettext("relocation section %u has bad info %u");" (assignment_expression "uVar22 = gettext("relocation section %u has bad info %u")" identifier = (call_expression "gettext("relocation section %u has bad info %u")" identifier (argument_list "("relocation section %u has bad info %u")" ( (string_literal ""relocation section %u has bad info %u"" " string_content ") )))) ;) (expression_statement "FUN_001bd150(param_1,uVar22,uVar42,uVar21);" (call_expression "FUN_001bd150(param_1,uVar22,uVar42,uVar21)" identifier (argument_list "(param_1,uVar22,uVar42,uVar21)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" else (compound_statement "{\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" { (expression_statement "puVar36 = (uint *)(lVar17 + uVar21 * 4);" (assignment_expression "puVar36 = (uint *)(lVar17 + uVar21 * 4)" identifier = (cast_expression "(uint *)(lVar17 + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar21 * 4)" ( (binary_expression "lVar17 + uVar21 * 4" identifier + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) ;) (if_statement "if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }" if (parenthesized_expression "(*puVar36 == 0)" ( (binary_expression "*puVar36 == 0" (pointer_expression "*puVar36" * identifier) == number_literal) )) (compound_statement "{\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }" { (expression_statement "*puVar36 = uVar42;" (assignment_expression "*puVar36 = uVar42" (pointer_expression "*puVar36" * identifier) = identifier) ;) (expression_statement "*(uint *)(lVar18 + uVar21 * 4) = uVar4;" (assignment_expression "*(uint *)(lVar18 + uVar21 * 4) = uVar4" (pointer_expression "*(uint *)(lVar18 + uVar21 * 4)" * (cast_expression "(uint *)(lVar18 + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar21 * 4)" ( (binary_expression "lVar18 + uVar21 * 4" identifier + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n            *puVar36 = 0xffffffff;\n          }" else (compound_statement "{\n            *puVar36 = 0xffffffff;\n          }" { (expression_statement "*puVar36 = 0xffffffff;" (assignment_expression "*puVar36 = 0xffffffff" (pointer_expression "*puVar36" * identifier) = number_literal) ;) }))) }))) })) (expression_statement "uVar42 = uVar42 + 1;" (assignment_expression "uVar42 = uVar42 + 1" identifier = (binary_expression "uVar42 + 1" identifier + number_literal)) ;) (expression_statement "local_1a0 = local_1a0 + 0x10;" (assignment_expression "local_1a0 = local_1a0 + 0x10" identifier = (binary_expression "local_1a0 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar42 != uVar2)" ( (binary_expression "uVar42 != uVar2" identifier != identifier) )) ;) }))) (if_statement "if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }" { (expression_statement "uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;" (assignment_expression "uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3" identifier = (binary_expression "*(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3" (binary_expression "*(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14)" (pointer_expression "*(long *)(param_1 + 0x16)" * (cast_expression "(long *)(param_1 + 0x16)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" if (parenthesized_expression "(uVar21 < uVar32)" ( (binary_expression "uVar21 < uVar32" identifier < identifier) )) (compound_statement "{\n      FUN_00192810(param_1 + 0x14);\n    }" { (expression_statement "FUN_00192810(param_1 + 0x14);" (call_expression "FUN_00192810(param_1 + 0x14)" identifier (argument_list "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))) ;) }) (else_clause "else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" else (if_statement "if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" if (parenthesized_expression "((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))" ( (binary_expression "(uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28)" (parenthesized_expression "(uVar32 < uVar21)" ( (binary_expression "uVar32 < uVar21" identifier < identifier) )) && (parenthesized_expression "(lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28)" ( (comma_expression "lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28" (assignment_expression "lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8" identifier = (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal))) , (binary_expression "*(long *)(param_1 + 0x16) != lVar28" (pointer_expression "*(long *)(param_1 + 0x16)" * (cast_expression "(long *)(param_1 + 0x16)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" { (expression_statement "*(long *)(param_1 + 0x16) = lVar28;" (assignment_expression "*(long *)(param_1 + 0x16) = lVar28" (pointer_expression "*(long *)(param_1 + 0x16)" * (cast_expression "(long *)(param_1 + 0x16)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) = identifier) ;) })))) (expression_statement "uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;" (assignment_expression "uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3" identifier = (binary_expression "*(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3" (binary_expression "*(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x3a)" * (cast_expression "(long *)(param_1 + 0x3a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3a)" ( (binary_expression "param_1 + 0x3a" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (uVar21 < uVar32) {\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" if (parenthesized_expression "(uVar21 < uVar32)" ( (binary_expression "uVar21 < uVar32" identifier < identifier) )) (compound_statement "{\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      FUN_00167c60(param_1 + 0x38);\n    }" { comment (expression_statement "FUN_00167c60(param_1 + 0x38);" (call_expression "FUN_00167c60(param_1 + 0x38)" identifier (argument_list "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))) ;) }) (else_clause "else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" else (if_statement "if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" if (parenthesized_expression "((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))" ( (binary_expression "(uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28)" (parenthesized_expression "(uVar32 < uVar21)" ( (binary_expression "uVar32 < uVar21" identifier < identifier) )) && (parenthesized_expression "(lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28)" ( (comma_expression "lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28" (assignment_expression "lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8" identifier = (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal))) , (binary_expression "*(long *)(param_1 + 0x3a) != lVar28" (pointer_expression "*(long *)(param_1 + 0x3a)" * (cast_expression "(long *)(param_1 + 0x3a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3a)" ( (binary_expression "param_1 + 0x3a" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" { (expression_statement "*(long *)(param_1 + 0x3a) = lVar28;" (assignment_expression "*(long *)(param_1 + 0x3a) = lVar28" (pointer_expression "*(long *)(param_1 + 0x3a)" * (cast_expression "(long *)(param_1 + 0x3a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3a)" ( (binary_expression "param_1 + 0x3a" identifier + number_literal) )))) = identifier) ;) })))) })) (if_statement "if (*(long *)(param_1 + 10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    FUN_001bcf60();\n  }" if (parenthesized_expression "(*(long *)(param_1 + 10) == 0)" ( (binary_expression "*(long *)(param_1 + 10) == 0" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    FUN_001bcf60();\n  }" { comment comment (expression_statement "FUN_001bcf60();" (call_expression "FUN_001bcf60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "cVar14 = FUN_0017a850();" (assignment_expression "cVar14 = FUN_0017a850()" identifier = (call_expression "FUN_0017a850()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }" { (if_statement "if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }" if (parenthesized_expression "(uVar43 != 0)" ( (binary_expression "uVar43 != 0" identifier != number_literal) )) (compound_statement "{\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);" (assignment_expression "lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" identifier = (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar24 = *(undefined8 **)(lVar28 + 0x40);" (assignment_expression "puVar24 = *(undefined8 **)(lVar28 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar28 + 0x40)" * (cast_expression "(undefined8 **)(lVar28 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar28 + 0x40)" ( (binary_expression "lVar28 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_188 = param_1;" (assignment_expression "local_188 = param_1" identifier = identifier) ;) (if_statement "if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" if (parenthesized_expression "(puVar24 == *(undefined8 **)(lVar28 + 0x48))" ( (binary_expression "puVar24 == *(undefined8 **)(lVar28 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar28 + 0x48)" * (cast_expression "(undefined8 **)(lVar28 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar28 + 0x48)" ( (binary_expression "lVar28 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }" { (expression_statement "FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);" (call_expression "FUN_001c5890(lVar28 + 0x38,puVar24,&local_188)" identifier (argument_list "(lVar28 + 0x38,puVar24,&local_188)" ( (binary_expression "lVar28 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_188" & identifier) ))) ;) }) (else_clause "else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" else (compound_statement "{\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" { (expression_statement "*puVar24 = param_1;" (assignment_expression "*puVar24 = param_1" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;" (assignment_expression "*(undefined8 **)(lVar28 + 0x40) = puVar24 + 1" (pointer_expression "*(undefined8 **)(lVar28 + 0x40)" * (cast_expression "(undefined8 **)(lVar28 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar28 + 0x40)" ( (binary_expression "lVar28 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }))) (expression_statement "lVar28 = *(long *)(param_1 + 0x7a);" (assignment_expression "lVar28 = *(long *)(param_1 + 0x7a)" identifier = (pointer_expression "*(long *)(param_1 + 0x7a)" * (cast_expression "(long *)(param_1 + 0x7a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (ulong)uVar43;" (assignment_expression "uVar32 = (ulong)uVar43" identifier = (cast_expression "(ulong)uVar43" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }" if (parenthesized_expression "((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32)" ( (binary_expression "(ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32" (call_expression "(ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7)" ( (binary_expression "(*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7" (parenthesized_expression "(*(long *)(param_1 + 0x7e) - lVar28 >> 4)" ( (binary_expression "*(long *)(param_1 + 0x7e) - lVar28 >> 4" (binary_expression "*(long *)(param_1 + 0x7e) - lVar28" (pointer_expression "*(long *)(param_1 + 0x7e)" * (cast_expression "(long *)(param_1 + 0x7e)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7e)" ( (binary_expression "param_1 + 0x7e" identifier + number_literal) )))) - identifier) >> number_literal) )) * number_literal) ))) < identifier) )) (compound_statement "{\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }" { (expression_statement "lVar20 = *(long *)(param_1 + 0x7c);" (assignment_expression "lVar20 = *(long *)(param_1 + 0x7c)" identifier = (pointer_expression "*(long *)(param_1 + 0x7c)" * (cast_expression "(long *)(param_1 + 0x7c)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) ;) comment (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(uVar32 * 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(uVar32 * 0x70)" identifier (argument_list "(uVar32 * 0x70)" ( (binary_expression "uVar32 * 0x70" identifier * number_literal) ))))) ;) (if_statement "if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }" if (parenthesized_expression "(lVar28 != lVar20)" ( (binary_expression "lVar28 != lVar20" identifier != identifier) )) (compound_statement "{\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }" { (expression_statement "puVar23 = (undefined8 *)(lVar28 + 0x10);" (assignment_expression "puVar23 = (undefined8 *)(lVar28 + 0x10)" identifier = (cast_expression "(undefined8 *)(lVar28 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x10)" ( (binary_expression "lVar28 + 0x10" identifier + number_literal) )))) ;) (expression_statement "puVar34 = puVar24;" (assignment_expression "puVar34 = puVar24" identifier = identifier) ;) (do_statement "do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);" do (compound_statement "{\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          }" { (expression_statement "*puVar34 = puVar34 + 2;" (assignment_expression "*puVar34 = puVar34 + 2" (pointer_expression "*puVar34" * identifier) = (binary_expression "puVar34 + 2" identifier + number_literal)) ;) (if_statement "if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" if (parenthesized_expression "((undefined8 *)puVar23[-2] == puVar23)" ( (binary_expression "(undefined8 *)puVar23[-2] == puVar23" (cast_expression "(undefined8 *)puVar23[-2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar23[-2]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }" { (expression_statement "uVar22 = puVar23[1];" (assignment_expression "uVar22 = puVar23[1]" identifier = (subscript_expression "puVar23[1]" identifier [ number_literal ])) ;) (expression_statement "puVar34[2] = *puVar23;" (assignment_expression "puVar34[2] = *puVar23" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar34[3] = uVar22;" (assignment_expression "puVar34[3] = uVar22" (subscript_expression "puVar34[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" else (compound_statement "{\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" { (expression_statement "*puVar34 = (undefined8 *)puVar23[-2];" (assignment_expression "*puVar34 = (undefined8 *)puVar23[-2]" (pointer_expression "*puVar34" * identifier) = (cast_expression "(undefined8 *)puVar23[-2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar23[-2]" identifier [ number_literal ]))) ;) (expression_statement "puVar34[2] = *puVar23;" (assignment_expression "puVar34[2] = *puVar23" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = (pointer_expression "*puVar23" * identifier)) ;) }))) (expression_statement "puVar33 = puVar34 + 0xe;" (assignment_expression "puVar33 = puVar34 + 0xe" identifier = (binary_expression "puVar34 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar34[1] = puVar23[-1];" (assignment_expression "puVar34[1] = puVar23[-1]" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = (subscript_expression "puVar23[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar23[-2] = puVar23;" (assignment_expression "puVar23[-2] = puVar23" (subscript_expression "puVar23[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar23[-1] = 0;" (assignment_expression "puVar23[-1] = 0" (subscript_expression "puVar23[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar23 = 0;" (assignment_expression "*(undefined1 *)puVar23 = 0" (pointer_expression "*(undefined1 *)puVar23" * (cast_expression "(undefined1 *)puVar23" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);" (assignment_expression "*(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2)" (pointer_expression "*(undefined4 *)(puVar34 + 4)" * (cast_expression "(undefined4 *)(puVar34 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 4)" ( (binary_expression "puVar34 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar23 + 2)" * (cast_expression "(undefined4 *)(puVar23 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 2)" ( (binary_expression "puVar23 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);" (assignment_expression "*(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14)" (pointer_expression "*(undefined4 *)((long)puVar34 + 0x24)" * (cast_expression "(undefined4 *)((long)puVar34 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x24)" ( (binary_expression "(long)puVar34 + 0x24" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((long)puVar23 + 0x14)" * (cast_expression "(undefined4 *)((long)puVar23 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x14)" ( (binary_expression "(long)puVar23 + 0x14" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);" (assignment_expression "*(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3)" (pointer_expression "*(undefined4 *)(puVar34 + 5)" * (cast_expression "(undefined4 *)(puVar34 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 5)" ( (binary_expression "puVar34 + 5" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar23 + 3)" * (cast_expression "(undefined4 *)(puVar23 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 3)" ( (binary_expression "puVar23 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x24);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x24)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x24)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x24)" ( (binary_expression "(long)puVar23 + 0x24" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x2c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x2c)" ( (binary_expression "(long)puVar34 + 0x2c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x1c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x1c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x1c)" ( (binary_expression "(long)puVar23 + 0x1c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x34) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x34) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x34)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x34)" ( (binary_expression "(long)puVar34 + 0x34" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x34);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x34)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x34)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x34)" ( (binary_expression "(long)puVar23 + 0x34" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x3c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x3c)" ( (binary_expression "(long)puVar34 + 0x3c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x2c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x2c)" ( (binary_expression "(long)puVar23 + 0x2c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x44) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x44) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x44)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x44)" ( (binary_expression "(long)puVar34 + 0x44" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x44);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x44)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x44)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x44)" ( (binary_expression "(long)puVar23 + 0x44" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x4c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x4c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x4c)" ( (binary_expression "(long)puVar34 + 0x4c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x3c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x3c)" ( (binary_expression "(long)puVar23 + 0x3c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x54) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x54) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x54)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x54)" ( (binary_expression "(long)puVar34 + 0x54" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x54);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x54)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x54)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x54)" ( (binary_expression "(long)puVar23 + 0x54" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x5c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x5c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x5c)" ( (binary_expression "(long)puVar34 + 0x5c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x4c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x4c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x4c)" ( (binary_expression "(long)puVar23 + 0x4c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 100) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 100) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 100)" * (cast_expression "(undefined8 *)((long)puVar34 + 100)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 100)" ( (binary_expression "(long)puVar34 + 100" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar23 = puVar23 + 0xe;" (assignment_expression "puVar23 = puVar23 + 0xe" identifier = (binary_expression "puVar23 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" identifier = identifier) ;) }) while (parenthesized_expression "(puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe)" ( (binary_expression "puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" identifier != (binary_expression "puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" identifier + (binary_expression "((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" (parenthesized_expression "((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1)" ( (binary_expression "(((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1" (parenthesized_expression "(((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff)" ( (binary_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff" (binary_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7" (parenthesized_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4)" ( (binary_expression "(ulong)((lVar20 + -0x70) - lVar28) >> 4" (call_expression "(ulong)((lVar20 + -0x70) - lVar28)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((lVar20 + -0x70) - lVar28)" ( (binary_expression "(lVar20 + -0x70) - lVar28" (parenthesized_expression "(lVar20 + -0x70)" ( (binary_expression "lVar20 + -0x70" identifier + number_literal) )) - identifier) ))) >> number_literal) )) * number_literal) & number_literal) )) + number_literal) )) * number_literal))) )) ;) })) (expression_statement "plVar25 = *(long **)(param_1 + 0x7c);" (assignment_expression "plVar25 = *(long **)(param_1 + 0x7c)" identifier = (pointer_expression "*(long **)(param_1 + 0x7c)" * (cast_expression "(long **)(param_1 + 0x7c)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "plVar41 = *(long **)(param_1 + 0x7a);" (assignment_expression "plVar41 = *(long **)(param_1 + 0x7a)" identifier = (pointer_expression "*(long **)(param_1 + 0x7a)" * (cast_expression "(long **)(param_1 + 0x7a)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) ))))) ;) (if_statement "if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }" if (parenthesized_expression "(plVar25 != plVar41)" ( (binary_expression "plVar25 != plVar41" identifier != identifier) )) (compound_statement "{\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }" { (do_statement "do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);" do (compound_statement "{\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          }" { (if_statement "if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }" if (parenthesized_expression "((long *)*plVar41 != plVar41 + 2)" ( (binary_expression "(long *)*plVar41 != plVar41 + 2" (cast_expression "(long *)*plVar41" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar41" * identifier)) != (binary_expression "plVar41 + 2" identifier + number_literal)) )) (compound_statement "{\n              FUN_002dac60();\n            }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "plVar41 = plVar41 + 0xe;" (assignment_expression "plVar41 = plVar41 + 0xe" identifier = (binary_expression "plVar41 + 0xe" identifier + number_literal)) ;) }) while (parenthesized_expression "(plVar25 != plVar41)" ( (binary_expression "plVar25 != plVar41" identifier != identifier) )) ;) (expression_statement "plVar41 = *(long **)(param_1 + 0x7a);" (assignment_expression "plVar41 = *(long **)(param_1 + 0x7a)" identifier = (pointer_expression "*(long **)(param_1 + 0x7a)" * (cast_expression "(long **)(param_1 + 0x7a)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) ))))) ;) })) (if_statement "if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }" if (parenthesized_expression "(plVar41 != (long *)0x0)" ( (binary_expression "plVar41 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_002dac60(plVar41);\n        }" { (expression_statement "FUN_002dac60(plVar41);" (call_expression "FUN_002dac60(plVar41)" identifier (argument_list "(plVar41)" ( identifier ))) ;) })) (expression_statement "*(undefined8 **)(param_1 + 0x7a) = puVar24;" (assignment_expression "*(undefined8 **)(param_1 + 0x7a) = puVar24" (pointer_expression "*(undefined8 **)(param_1 + 0x7a)" * (cast_expression "(undefined8 **)(param_1 + 0x7a)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;" (assignment_expression "*(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24" (pointer_expression "*(long *)(param_1 + 0x7c)" * (cast_expression "(long *)(param_1 + 0x7c)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = (binary_expression "(lVar20 - lVar28) + (long)puVar24" (parenthesized_expression "(lVar20 - lVar28)" ( (binary_expression "lVar20 - lVar28" identifier - identifier) )) + (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "*(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;" (assignment_expression "*(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe" (pointer_expression "*(undefined8 **)(param_1 + 0x7e)" * (cast_expression "(undefined8 **)(param_1 + 0x7e)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7e)" ( (binary_expression "param_1 + 0x7e" identifier + number_literal) )))) = (binary_expression "puVar24 + uVar32 * 0xe" identifier + (binary_expression "uVar32 * 0xe" identifier * number_literal))) ;) })) (expression_statement "*(undefined1 *)((long)param_1 + 0x1e1) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x1e1) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x1e1)" * (cast_expression "(undefined1 *)((long)param_1 + 0x1e1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) })) (expression_statement "local_d8 = (void *)0x0;" (assignment_expression "local_d8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (uint *)0x0;" (assignment_expression "local_c8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar35 = (uVar31 + 0x40 >> 6) * 8;" (assignment_expression "sVar35 = (uVar31 + 0x40 >> 6) * 8" identifier = (binary_expression "(uVar31 + 0x40 >> 6) * 8" (parenthesized_expression "(uVar31 + 0x40 >> 6)" ( (binary_expression "uVar31 + 0x40 >> 6" (binary_expression "uVar31 + 0x40" identifier + number_literal) >> number_literal) )) * number_literal)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_b8 = (void *)0x0;" (assignment_expression "local_b8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "local_d8 = (void *)FUN_002d9490(sVar35);" (assignment_expression "local_d8 = (void *)FUN_002d9490(sVar35)" identifier = (cast_expression "(void *)FUN_002d9490(sVar35)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(sVar35)" identifier (argument_list "(sVar35)" ( identifier ))))) ;) (expression_statement "local_b8 = (void *)((long)local_d8 + sVar35);" (assignment_expression "local_b8 = (void *)((long)local_d8 + sVar35)" identifier = (cast_expression "(void *)((long)local_d8 + sVar35)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + sVar35)" ( (binary_expression "(long)local_d8 + sVar35" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);" (assignment_expression "local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8)" identifier = (cast_expression "(uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + ((long)uVar44 >> 6) * 8)" ( (binary_expression "(long)local_d8 + ((long)uVar44 >> 6) * 8" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((long)uVar44 >> 6) * 8" (parenthesized_expression "((long)uVar44 >> 6)" ( (binary_expression "(long)uVar44 >> 6" (cast_expression "(long)uVar44" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal) )) * number_literal)) )))) ;) (expression_statement "local_c0 = uVar2 & 0x3f;" (assignment_expression "local_c0 = uVar2 & 0x3f" identifier = (binary_expression "uVar2 & 0x3f" identifier & number_literal)) ;) (expression_statement "local_a8 = local_c8;" (assignment_expression "local_a8 = local_c8" identifier = identifier) ;) (expression_statement "local_a0 = local_c0;" (assignment_expression "local_a0 = local_c0" identifier = identifier) ;) (expression_statement "memset(local_d8,0,sVar35);" (call_expression "memset(local_d8,0,sVar35)" identifier (argument_list "(local_d8,0,sVar35)" ( identifier , number_literal , identifier ))) ;) (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" { comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "cVar14 = *(char *)(lVar28 + 0x5051);" (assignment_expression "cVar14 = *(char *)(lVar28 + 0x5051)" identifier = (pointer_expression "*(char *)(lVar28 + 0x5051)" * (cast_expression "(char *)(lVar28 + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x5051)" ( (binary_expression "lVar28 + 0x5051" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = cVar14;" (assignment_expression "cVar1 = cVar14" identifier = identifier) ;) (if_statement "if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }" { (expression_statement "cVar1 = *(char *)(lVar28 + 0x4ec1);" (assignment_expression "cVar1 = *(char *)(lVar28 + 0x4ec1)" identifier = (pointer_expression "*(char *)(lVar28 + 0x4ec1)" * (cast_expression "(char *)(lVar28 + 0x4ec1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x4ec1)" ( (binary_expression "lVar28 + 0x4ec1" identifier + number_literal) ))))) ;) })) (expression_statement "local_178 = (uint *)0x0;" (assignment_expression "local_178 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_170 = (uint *)0x0;" (assignment_expression "local_170 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_168 = (uint *)0x0;" (assignment_expression "local_168 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_158 = (uint *)0x0;" (assignment_expression "local_158 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_150 = (uint *)0x0;" (assignment_expression "local_150 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (expression_statement "local_138 = (uint *)0x0;" (assignment_expression "local_138 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_130 = (uint *)0x0;" (assignment_expression "local_130 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_128 = 0;" (assignment_expression "local_128 = 0" identifier = number_literal) ;) (expression_statement "local_118 = (uint *)0x0;" (assignment_expression "local_118 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_110 = (uint *)0x0;" (assignment_expression "local_110 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }" { (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001da530:\n      local_270 = &local_d8;" statement_identifier : (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;)) (if_statement "if (!bVar8) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }" { comment (expression_statement "FUN_001a5430(param_3,param_1);" (call_expression "FUN_001a5430(param_3,param_1)" identifier (argument_list "(param_3,param_1)" ( identifier , identifier ))) ;) (expression_statement "FUN_001a5350(param_3,uVar10,local_238,param_1);" (call_expression "FUN_001a5350(param_3,uVar10,local_238,param_1)" identifier (argument_list "(param_3,uVar10,local_238,param_1)" ( identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (bVar9) {\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }" { (if_statement "if (local_158 != local_150) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }" if (parenthesized_expression "(local_158 != local_150)" ( (binary_expression "local_158 != local_150" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x751,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x751,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x751,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" else (if_statement "if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" if (parenthesized_expression "(local_158 != local_150)" ( (binary_expression "local_158 != local_150" identifier != identifier) )) (compound_statement "{\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" { (expression_statement "puVar37 = local_158;" (assignment_expression "puVar37 = local_158" identifier = identifier) ;) (do_statement "do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);" do (compound_statement "{\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        }" { (expression_statement "uVar3 = *puVar37;" (assignment_expression "uVar3 = *puVar37" identifier = (pointer_expression "*puVar37" * identifier)) ;) (expression_statement "local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);" (assignment_expression "local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0)" identifier = (cast_expression "(uint *)((ulong)(uVar3 << 6) + local_1f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar3 << 6) + local_1f0)" ( (binary_expression "(ulong)(uVar3 << 6) + local_1f0" (call_expression "(ulong)(uVar3 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 << 6)" ( (binary_expression "uVar3 << 6" identifier << number_literal) ))) + identifier) )))) ;) (expression_statement "FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));" (call_expression "FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4))" identifier (argument_list "(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4))" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_a8" & identifier) , (pointer_expression "*(undefined4 *)(lVar17 + (ulong)uVar3 * 4)" * (cast_expression "(undefined4 *)(lVar17 + (ulong)uVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + (ulong)uVar3 * 4)" ( (binary_expression "lVar17 + (ulong)uVar3 * 4" identifier + (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) , (pointer_expression "*(undefined4 *)(lVar18 + (ulong)uVar3 * 4)" * (cast_expression "(undefined4 *)(lVar18 + (ulong)uVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + (ulong)uVar3 * 4)" ( (binary_expression "lVar18 + (ulong)uVar3 * 4" identifier + (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ))) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_150 != puVar37)" ( (binary_expression "local_150 != puVar37" identifier != identifier) )) ;) })))) (if_statement "if (cVar1 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        FUN_001bfe80(param_1);\n      }" { comment (expression_statement "FUN_001bfe80(param_1);" (call_expression "FUN_001bfe80(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) })) (if_statement "if (bVar7) {\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n        if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }" { (if_statement "if (local_178 != local_170) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }" if (parenthesized_expression "(local_178 != local_170)" ( (binary_expression "local_178 != local_170" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x76c,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x76c,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" else (if_statement "if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" if (parenthesized_expression "(local_178 != local_170)" ( (binary_expression "local_178 != local_170" identifier != identifier) )) (compound_statement "{\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" { (expression_statement "local_1a0 = local_178;" (assignment_expression "local_1a0 = local_178" identifier = identifier) ;) (do_statement "do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);" do (compound_statement "{\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        }" { (expression_statement "uVar3 = *local_1a0;" (assignment_expression "uVar3 = *local_1a0" identifier = (pointer_expression "*local_1a0" * identifier)) ;) (expression_statement "uVar32 = (ulong)uVar3;" (assignment_expression "uVar32 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);" (assignment_expression "puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0)" identifier = (cast_expression "(uint *)((ulong)(uVar3 << 6) + local_1f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar3 << 6) + local_1f0)" ( (binary_expression "(ulong)(uVar3 << 6) + local_1f0" (call_expression "(ulong)(uVar3 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 << 6)" ( (binary_expression "uVar3 << 6" identifier << number_literal) ))) + identifier) )))) ;) (expression_statement "uVar43 = puVar37[0xb];" (assignment_expression "uVar43 = puVar37[0xb]" identifier = (subscript_expression "puVar37[0xb]" identifier [ number_literal ])) ;) (expression_statement "local_f8 = puVar37;" (assignment_expression "local_f8 = puVar37" identifier = identifier) ;) (if_statement "if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }" if (parenthesized_expression "(0xfeff < uVar43)" ( (binary_expression "0xfeff < uVar43" number_literal < identifier) )) (compound_statement "{\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }" { (expression_statement "FUN_001682d0(param_1 + 0x3e);" (call_expression "FUN_001682d0(param_1 + 0x3e)" identifier (argument_list "(param_1 + 0x3e)" ( (binary_expression "param_1 + 0x3e" identifier + number_literal) ))) ;) (expression_statement "uVar43 = uVar43 + param_1[0x44];" (assignment_expression "uVar43 = uVar43 + param_1[0x44]" identifier = (binary_expression "uVar43 + param_1[0x44]" identifier + (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) })) (if_statement "if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }" if (parenthesized_expression "(uVar43 < uVar2)" ( (binary_expression "uVar43 < uVar2" identifier < identifier) )) (compound_statement "{\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }" { (expression_statement "lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);" (assignment_expression "lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "(ulong)uVar43 * 8" (cast_expression "(ulong)uVar43" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" if (parenthesized_expression "(lVar28 == 2)" ( (binary_expression "lVar28 == 2" identifier == number_literal) )) (compound_statement "{\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }" { (if_statement "if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }" { (expression_statement "uVar43 = local_f8[1];" (assignment_expression "uVar43 = local_f8[1]" identifier = (subscript_expression "local_f8[1]" identifier [ number_literal ])) ;) (expression_statement "FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);" (call_expression "FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0)" identifier (argument_list "(&local_a8,(ulong)*local_f8 + local_1c0)" ( (pointer_expression "&local_a8" & identifier) , (binary_expression "(ulong)*local_f8 + local_1c0" (binary_expression "(ulong)*local_f8" (parenthesized_expression "(ulong)" ( identifier )) * identifier) + identifier) ))) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 2)" * (cast_expression "(undefined8 *)(puVar37 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 2)" ( (binary_expression "puVar37 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 4)" * (cast_expression "(undefined8 *)(puVar37 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 4)" ( (binary_expression "puVar37 + 4" identifier + number_literal) ))))) ;) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 6)" * (cast_expression "(undefined8 *)(puVar37 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 6)" ( (binary_expression "puVar37 + 6" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 8)" * (cast_expression "(undefined8 *)(puVar37 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 8)" ( (binary_expression "puVar37 + 8" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 10)" * (cast_expression "(undefined8 *)(puVar37 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 10)" ( (binary_expression "puVar37 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" * (cast_expression "(undefined8 *)(puVar37 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xc)" ( (binary_expression "puVar37 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" * (cast_expression "(undefined8 *)(puVar37 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xe)" ( (binary_expression "puVar37 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" identifier . field_identifier) = (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" ( identifier )) * (cast_expression "(undefined8 *)puVar37" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_7c = CONCAT44(uVar43,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar43,(undefined4)local_7c)" identifier = (call_expression "CONCAT44(uVar43,(undefined4)local_7c)" identifier (argument_list "(uVar43,(undefined4)local_7c)" ( identifier , (cast_expression "(undefined4)local_7c" ( (type_descriptor "undefined4" type_identifier) ) identifier) )))) ;) (expression_statement "local_88 = uVar3;" (assignment_expression "local_88 = uVar3" identifier = identifier) ;) comment (expression_statement "FUN_001d6880(param_1 + 0x80,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x80,&local_a8)" identifier (argument_list "(param_1 + 0x80,&local_a8)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (pointer_expression "&local_a8" & identifier) ))) ;) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                  FUN_002dac60();\n                }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) })) }) (else_clause "else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" else (if_statement "if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" { (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" else (compound_statement "{\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" { (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(0x28);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(0x28)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24[1] = 0;" (assignment_expression "puVar24[1] = 0" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24[2] = 0;" (assignment_expression "puVar24[2] = 0" (subscript_expression "puVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24[3] = 0;" (assignment_expression "puVar24[3] = 0" (subscript_expression "puVar24[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24[4] = 0;" (assignment_expression "puVar24[4] = 0" (subscript_expression "puVar24[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1[0xe] <= uVar3) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" if (parenthesized_expression "(param_1[0xe] <= uVar3)" ( (binary_expression "param_1[0xe] <= uVar3" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" { comment (expression_statement "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;" (assignment_expression "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24" (pointer_expression "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8)" * (cast_expression "(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(param_1 + 0x1a) + uVar32 * 8)" ( (binary_expression "**(long **)(param_1 + 0x1a) + uVar32 * 8" (pointer_expression "**(long **)(param_1 + 0x1a)" * (pointer_expression "*(long **)(param_1 + 0x1a)" * (cast_expression "(long **)(param_1 + 0x1a)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1a)" ( (binary_expression "param_1 + 0x1a" identifier + number_literal) ))))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);" (assignment_expression "uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28)" identifier = (call_expression "FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28)" identifier (argument_list "(param_3,param_1,uVar32,&local_f8,lVar28)" ( identifier , identifier , identifier , (pointer_expression "&local_f8" & identifier) , identifier )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) }))))) })) (expression_statement "local_1a0 = local_1a0 + 1;" (assignment_expression "local_1a0 = local_1a0 + 1" identifier = (binary_expression "local_1a0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_170 != local_1a0)" ( (binary_expression "local_170 != local_1a0" identifier != identifier) )) ;) })))) (if_statement "if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }" { (if_statement "if ((local_130 != local_138) || (local_110 != local_118)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }" if (parenthesized_expression "((local_130 != local_138) || (local_110 != local_118))" ( (binary_expression "(local_130 != local_138) || (local_110 != local_118)" (parenthesized_expression "(local_130 != local_138)" ( (binary_expression "local_130 != local_138" identifier != identifier) )) || (parenthesized_expression "(local_110 != local_118)" ( (binary_expression "local_110 != local_118" identifier != identifier) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x7a0,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" else (compound_statement "{\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" { (expression_statement "puVar37 = local_138;" (assignment_expression "puVar37 = local_138" identifier = identifier) ;) (if_statement "if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }" if (parenthesized_expression "(local_130 != local_138)" ( (binary_expression "local_130 != local_138" identifier != identifier) )) (compound_statement "{\n          do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }" { (do_statement "do {\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);" do (compound_statement "{\n            uVar32 = (ulong)*puVar37;\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          }" { (expression_statement "uVar32 = (ulong)*puVar37;" (assignment_expression "uVar32 = (ulong)*puVar37" identifier = (binary_expression "(ulong)*puVar37" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) comment (expression_statement "FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));" (call_expression "FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" identifier (argument_list "(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" ( identifier , number_literal , identifier , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) , (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) ))) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_130 != puVar37)" ( (binary_expression "local_130 != puVar37" identifier != identifier) )) ;) })) (expression_statement "puVar37 = local_118;" (assignment_expression "puVar37 = local_118" identifier = identifier) ;) (if_statement "if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }" if (parenthesized_expression "(local_118 != local_110)" ( (binary_expression "local_118 != local_110" identifier != identifier) )) (compound_statement "{\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }" { (do_statement "do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);" do (compound_statement "{\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          }" { (expression_statement "uVar32 = (ulong)*puVar37;" (assignment_expression "uVar32 = (ulong)*puVar37" identifier = (binary_expression "(ulong)*puVar37" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));" (call_expression "FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" identifier (argument_list "(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" ( identifier , number_literal , identifier , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) , (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) ))) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_110 != puVar37)" ( (binary_expression "local_110 != puVar37" identifier != identifier) )) ;) })) }))) (if_statement "if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }" { (if_statement "if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(*local_240 != 0)" ( (binary_expression "*local_240 != 0" (pointer_expression "*local_240" * identifier) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(local_240[1] != 0)" ( (binary_expression "local_240[1] != 0" (subscript_expression "local_240[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(local_240[3] != 0)" ( (binary_expression "local_240[3] != 0" (subscript_expression "local_240[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(local_240[6] != 0)" ( (binary_expression "local_240[6] != 0" (subscript_expression "local_240[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x23] = 0;" (assignment_expression "param_1[0x23] = 0" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" else (compound_statement "{\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" { (expression_statement "lVar28 = *param_4;" (assignment_expression "lVar28 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (if_statement "if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "lVar28 = param_4[1];" (assignment_expression "lVar28 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" * identifier) = number_literal) ;) (if_statement "if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_118 != (uint *)0x0)" ( (binary_expression "local_118 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_138 != (uint *)0x0)" ( (binary_expression "local_138 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_158 != (uint *)0x0)" ( (binary_expression "local_158 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_178 != (uint *)0x0)" ( (binary_expression "local_178 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001d5cd0(local_270);" (call_expression "FUN_001d5cd0(local_270)" identifier (argument_list "(local_270)" ( identifier ))) ;) (expression_statement "FUN_002dac60(lVar18);" (call_expression "FUN_002dac60(lVar18)" identifier (argument_list "(lVar18)" ( identifier ))) ;) (expression_statement "FUN_002dac60(lVar17);" (call_expression "FUN_002dac60(lVar17)" identifier (argument_list "(lVar17)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar43 = *(uint *)(local_1f0 + 0x44);" (assignment_expression "uVar43 = *(uint *)(local_1f0 + 0x44)" identifier = (pointer_expression "*(uint *)(local_1f0 + 0x44)" * (cast_expression "(uint *)(local_1f0 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x44)" ( (binary_expression "local_1f0 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);" (assignment_expression "uVar32 = (ulong)*(uint *)(local_1f0 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(local_1f0 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(local_1f0 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x40)" ( (binary_expression "local_1f0 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_188 = puVar37;" (assignment_expression "local_188 = puVar37" identifier = identifier) ;) (if_statement "if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }" if (parenthesized_expression "(uVar32 < local_1c8)" ( (binary_expression "uVar32 < local_1c8" identifier < identifier) )) (compound_statement "{\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }" { (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);" do (compound_statement "{\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      }" { (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "__s1 = (byte *)(local_1c0 + uVar32);" (assignment_expression "__s1 = (byte *)(local_1c0 + uVar32)" identifier = (cast_expression "(byte *)(local_1c0 + uVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1c0 + uVar32)" ( (binary_expression "local_1c0 + uVar32" identifier + identifier) )))) ;) (expression_statement "local_188 = puVar37;" (assignment_expression "local_188 = puVar37" identifier = identifier) ;) (if_statement "if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }" { (labeled_statement "LAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" statement_identifier : (if_statement "if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }" { (expression_statement "cVar15 = FUN_001bd560(param_1,__s1);" (assignment_expression "cVar15 = FUN_001bd560(param_1,__s1)" identifier = (call_expression "FUN_001bd560(param_1,__s1)" identifier (argument_list "(param_1,__s1)" ( identifier , identifier )))) ;) comment (if_statement "if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }" if (parenthesized_expression "(((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2))" ( (binary_expression "((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)" (parenthesized_expression "((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  )" ( (binary_expression "(cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')" (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')" ( (comma_expression "cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0'" (assignment_expression "cVar15 = FUN_001a4e50(param_3,param_1,__s1)" identifier = (call_expression "FUN_001a4e50(param_3,param_1,__s1)" identifier (argument_list "(param_3,param_1,__s1)" ( identifier , identifier , identifier )))) , (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) || (parenthesized_expression "(uVar43 - 0xe < 2)" ( (binary_expression "uVar43 - 0xe < 2" (binary_expression "uVar43 - 0xe" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }" { (expression_statement "local_a0 = local_18c;" (assignment_expression "local_a0 = local_18c" identifier = identifier) ;) (expression_statement "local_a8 = param_1;" (assignment_expression "local_a8 = param_1" identifier = identifier) ;) comment (expression_statement "FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);" (call_expression "FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8)" identifier (argument_list "(*(undefined8 *)(param_2 + 0x290),&local_a8)" ( (pointer_expression "*(undefined8 *)(param_2 + 0x290)" * (cast_expression "(undefined8 *)(param_2 + 0x290)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) )))) , (pointer_expression "&local_a8" & identifier) ))) ;) })) (expression_statement "sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");" (assignment_expression "sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" identifier = (call_expression "strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" identifier (argument_list "((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"" " string_content ") )))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }" if (parenthesized_expression "(__s1[sVar35] == 0)" ( (binary_expression "__s1[sVar35] == 0" (subscript_expression "__s1[sVar35]" identifier [ identifier ]) == number_literal) )) (compound_statement "{\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }" { (expression_statement "lVar28 = *(long *)(param_2 + 0x290);" (assignment_expression "lVar28 = *(long *)(param_2 + 0x290)" identifier = (pointer_expression "*(long *)(param_2 + 0x290)" * (cast_expression "(long *)(param_2 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" identifier (argument_list "(&local_a8,__s1)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "puVar13 = local_a8;" (assignment_expression "puVar13 = local_a8" identifier = identifier) ;) (expression_statement "puVar36 = (uint *)(lVar28 + 0x90);" (assignment_expression "puVar36 = (uint *)(lVar28 + 0x90)" identifier = (cast_expression "(uint *)(lVar28 + 0x90)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x90)" ( (binary_expression "lVar28 + 0x90" identifier + number_literal) )))) ;) (expression_statement "local_f0 = uVar42;" (assignment_expression "local_f0 = uVar42" identifier = identifier) ;) (expression_statement "local_f8 = param_1;" (assignment_expression "local_f8 = param_1" identifier = identifier) ;) (if_statement "if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" if (parenthesized_expression "(*(long *)(lVar28 + 0x98) == 0)" ( (binary_expression "*(long *)(lVar28 + 0x98) == 0" (pointer_expression "*(long *)(lVar28 + 0x98)" * (cast_expression "(long *)(lVar28 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x98)" ( (binary_expression "lVar28 + 0x98" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }" { (labeled_statement "LAB_001db58d:\n                  local_180 = &local_a8;" statement_identifier : (expression_statement "local_180 = &local_a8;" (assignment_expression "local_180 = &local_a8" identifier = (pointer_expression "&local_a8" & identifier)) ;)) comment (expression_statement "local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);" (assignment_expression "local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" identifier = (cast_expression "(uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" identifier (argument_list "(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" ( (binary_expression "lVar28 + 0x88" identifier + number_literal) , identifier , (pointer_expression "&DAT_003798ac" & identifier) , (pointer_expression "&local_180" & identifier) , (pointer_expression "&local_18d" & identifier) ))))) ;) }) (else_clause "else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" else (compound_statement "{\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" { (expression_statement "uVar32 = CONCAT44(uStack_9c,local_a0);" (assignment_expression "uVar32 = CONCAT44(uStack_9c,local_a0)" identifier = (call_expression "CONCAT44(uStack_9c,local_a0)" identifier (argument_list "(uStack_9c,local_a0)" ( identifier , identifier )))) ;) (expression_statement "lVar20 = *(long *)(lVar28 + 0x98);" (assignment_expression "lVar20 = *(long *)(lVar28 + 0x98)" identifier = (pointer_expression "*(long *)(lVar28 + 0x98)" * (cast_expression "(long *)(lVar28 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x98)" ( (binary_expression "lVar28 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_1a0 = puVar36;" (assignment_expression "local_1a0 = puVar36" identifier = identifier) ;) (do_statement "do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);" do (compound_statement "{\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  }" { (while_statement "while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }" { (expression_statement "lVar29 = lVar20;" (assignment_expression "lVar29 = lVar20" identifier = identifier) ;) (expression_statement "uVar44 = *(ulong *)(lVar29 + 0x28);" (assignment_expression "uVar44 = *(ulong *)(lVar29 + 0x28)" identifier = (pointer_expression "*(ulong *)(lVar29 + 0x28)" * (cast_expression "(ulong *)(lVar29 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x28)" ( (binary_expression "lVar29 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) (if_statement "if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }" if (parenthesized_expression "(uVar44 <= uVar32)" ( (binary_expression "uVar44 <= uVar32" identifier <= identifier) )) (compound_statement "{\n                        uVar31 = uVar44;\n                      }" { (expression_statement "uVar31 = uVar44;" (assignment_expression "uVar31 = uVar44" identifier = identifier) ;) })) (if_statement "if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;" if (parenthesized_expression "((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))" ( (binary_expression "(uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0)" (parenthesized_expression "(uVar31 != 0)" ( (binary_expression "uVar31 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0)" ( (comma_expression "iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0" (assignment_expression "iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31)" identifier = (call_expression "memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31)" identifier (argument_list "(*(void **)(lVar29 + 0x20),puVar13,uVar31)" ( (pointer_expression "*(void **)(lVar29 + 0x20)" * (cast_expression "(void **)(lVar29 + 0x20)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar29 + 0x20)" ( (binary_expression "lVar29 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = uVar44 - uVar32;" (assignment_expression "lVar20 = uVar44 - uVar32" identifier = (binary_expression "uVar44 - uVar32" identifier - identifier)) ;) (if_statement "if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" if (parenthesized_expression "(lVar20 < 0x80000000)" ( (binary_expression "lVar20 < 0x80000000" identifier < number_literal) )) (compound_statement "{\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" { (if_statement "if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }" if (parenthesized_expression "(-0x80000001 < lVar20)" ( (binary_expression "-0x80000001 < lVar20" number_literal < identifier) )) (compound_statement "{\n                          iVar16 = (int)lVar20;\n                          break;\n                        }" { (expression_statement "iVar16 = (int)lVar20;" (assignment_expression "iVar16 = (int)lVar20" identifier = (cast_expression "(int)lVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (break_statement "break;" break ;) })) (goto_statement "goto LAB_001db4b0;" goto statement_identifier ;) })) (labeled_statement "LAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);" statement_identifier : (expression_statement "lVar20 = *(long *)(lVar29 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar29 + 0x10)" identifier = (pointer_expression "*(long *)(lVar29 + 0x10)" * (cast_expression "(long *)(lVar29 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x10)" ( (binary_expression "lVar29 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "local_1a0 = (uint *)lVar29;" (assignment_expression "local_1a0 = (uint *)lVar29" identifier = (cast_expression "(uint *)lVar29" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;" if (parenthesized_expression "(*(long *)(lVar29 + 0x10) == 0)" ( (binary_expression "*(long *)(lVar29 + 0x10) == 0" (pointer_expression "*(long *)(lVar29 + 0x10)" * (cast_expression "(long *)(lVar29 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x10)" ( (binary_expression "lVar29 + 0x10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001db50a;" goto statement_identifier ;)) })) (if_statement "if (-1 < iVar16) goto LAB_001db4fa;" if (parenthesized_expression "(-1 < iVar16)" ( (binary_expression "-1 < iVar16" number_literal < identifier) )) (goto_statement "goto LAB_001db4fa;" goto statement_identifier ;)) (labeled_statement "LAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);" statement_identifier : (expression_statement "lVar20 = *(long *)(lVar29 + 0x18);" (assignment_expression "lVar20 = *(long *)(lVar29 + 0x18)" identifier = (pointer_expression "*(long *)(lVar29 + 0x18)" * (cast_expression "(long *)(lVar29 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x18)" ( (binary_expression "lVar29 + 0x18" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "(*(long *)(lVar29 + 0x18) != 0)" ( (binary_expression "*(long *)(lVar29 + 0x18) != 0" (pointer_expression "*(long *)(lVar29 + 0x18)" * (cast_expression "(long *)(lVar29 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x18)" ( (binary_expression "lVar29 + 0x18" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;" statement_identifier : (expression_statement "bVar45 = puVar36 == local_1a0;" (assignment_expression "bVar45 = puVar36 == local_1a0" identifier = (binary_expression "puVar36 == local_1a0" identifier == identifier)) ;)) (expression_statement "puVar36 = local_1a0;" (assignment_expression "puVar36 = local_1a0" identifier = identifier) ;) (if_statement "if (bVar45) goto LAB_001db58d;" if (parenthesized_expression "(bVar45)" ( identifier )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;)) (expression_statement "uVar44 = *(ulong *)((long)local_1a0 + 0x28);" (assignment_expression "uVar44 = *(ulong *)((long)local_1a0 + 0x28)" identifier = (pointer_expression "*(ulong *)((long)local_1a0 + 0x28)" * (cast_expression "(ulong *)((long)local_1a0 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_1a0 + 0x28)" ( (binary_expression "(long)local_1a0 + 0x28" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar31 = uVar44;" (assignment_expression "uVar31 = uVar44" identifier = identifier) ;) (if_statement "if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }" if (parenthesized_expression "(uVar32 <= uVar44)" ( (binary_expression "uVar32 <= uVar44" identifier <= identifier) )) (compound_statement "{\n                    uVar31 = uVar32;\n                  }" { (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) })) (if_statement "if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" if (parenthesized_expression "((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0))" ( (binary_expression "(uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)" (parenthesized_expression "(uVar31 == 0)" ( (binary_expression "uVar31 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)" ( (comma_expression "iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0" (assignment_expression "iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" identifier = (call_expression "memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" identifier (argument_list "(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" ( identifier , (pointer_expression "*(void **)((long)local_1a0 + 0x20)" * (cast_expression "(void **)((long)local_1a0 + 0x20)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)local_1a0 + 0x20)" ( (binary_expression "(long)local_1a0 + 0x20" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , identifier )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }" { (expression_statement "lVar20 = uVar32 - uVar44;" (assignment_expression "lVar20 = uVar32 - uVar44" identifier = (binary_expression "uVar32 - uVar44" identifier - identifier)) ;) (if_statement "if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }" if (parenthesized_expression "(lVar20 < 0x80000000)" ( (binary_expression "lVar20 < 0x80000000" identifier < number_literal) )) (compound_statement "{\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }" { (if_statement "if (lVar20 < -0x80000000) goto LAB_001db58d;" if (parenthesized_expression "(lVar20 < -0x80000000)" ( (binary_expression "lVar20 < -0x80000000" identifier < number_literal) )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;)) (expression_statement "iVar16 = (int)lVar20;" (assignment_expression "iVar16 = (int)lVar20" identifier = (cast_expression "(int)lVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_001db589;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" else (compound_statement "{\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" { (labeled_statement "LAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;" statement_identifier : (if_statement "if (iVar16 < 0) goto LAB_001db58d;" if (parenthesized_expression "(iVar16 < 0)" ( (binary_expression "iVar16 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;))) }))) }))) (expression_statement "uVar44 = (ulong)uVar42 ^ (ulong)param_1;" (assignment_expression "uVar44 = (ulong)uVar42 ^ (ulong)param_1" identifier = (binary_expression "(ulong)uVar42 ^ (ulong)param_1" (cast_expression "(ulong)uVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ (cast_expression "(ulong)param_1" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);" (assignment_expression "uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48)" identifier = (binary_expression "uVar44 % *(ulong *)((long)local_1a0 + 0x48)" identifier % (pointer_expression "*(ulong *)((long)local_1a0 + 0x48)" * (cast_expression "(ulong *)((long)local_1a0 + 0x48)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_1a0 + 0x48)" ( (binary_expression "(long)local_1a0 + 0x48" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))))) ;) (expression_statement "plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);" (assignment_expression "plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" identifier = (cast_expression "(long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" identifier (argument_list "((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier , (pointer_expression "&local_f8" & identifier) , identifier ))))) ;) (if_statement "if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }" if (parenthesized_expression "((plVar25 == (long *)0x0) || (*plVar25 == 0))" ( (binary_expression "(plVar25 == (long *)0x0) || (*plVar25 == 0)" (parenthesized_expression "(plVar25 == (long *)0x0)" ( (binary_expression "plVar25 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*plVar25 == 0)" ( (binary_expression "*plVar25 == 0" (pointer_expression "*plVar25" * identifier) == number_literal) ))) )) (compound_statement "{\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }" { comment (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(0x20);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(0x20)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "puVar24[1] = param_1;" (assignment_expression "puVar24[1] = param_1" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "*(uint *)(puVar24 + 2) = uVar42;" (assignment_expression "*(uint *)(puVar24 + 2) = uVar42" (pointer_expression "*(uint *)(puVar24 + 2)" * (cast_expression "(uint *)(puVar24 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 2)" ( (binary_expression "puVar24 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);" (call_expression "FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1)" identifier (argument_list "((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier , identifier , identifier , number_literal ))) ;) })) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                  FUN_002dac60();\n                }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) })) })) }))) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" if (parenthesized_expression "((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4))))" ( (binary_expression "(cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((uVar43 != 9 && (uVar43 != 4)))" ( (parenthesized_expression "(uVar43 != 9 && (uVar43 != 4))" ( (binary_expression "uVar43 != 9 && (uVar43 != 4)" (binary_expression "uVar43 != 9" identifier != number_literal) && (parenthesized_expression "(uVar43 != 4)" ( (binary_expression "uVar43 != 4" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }" { (if_statement "if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }" if (parenthesized_expression "((uVar43 != 0x11) || (cVar14 == '\0'))" ( (binary_expression "(uVar43 != 0x11) || (cVar14 == '\0')" (parenthesized_expression "(uVar43 != 0x11)" ( (binary_expression "uVar43 != 0x11" identifier != number_literal) )) || (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }" { (expression_statement "cVar15 = FUN_001c3d60(param_1,&local_188);" (assignment_expression "cVar15 = FUN_001c3d60(param_1,&local_188)" identifier = (call_expression "FUN_001c3d60(param_1,&local_188)" identifier (argument_list "(param_1,&local_188)" ( identifier , (pointer_expression "&local_188" & identifier) )))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = cVar15 == '\0';" (assignment_expression "bVar46 = cVar15 == '\0'" identifier = (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" if (parenthesized_expression "(!bVar46)" ( (unary_expression "!bVar46" ! identifier) )) (compound_statement "{\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" { (expression_statement "lVar28 = 10;" (assignment_expression "lVar28 = 10" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".eh_frame";" (assignment_expression "pbVar39 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);" do (compound_statement "{\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (if_statement "if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" if (parenthesized_expression "(((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0'))" ( (binary_expression "((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')" (parenthesized_expression "((!bVar45 && !bVar46) == bVar45)" ( (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) == identifier) )) && (parenthesized_expression "(uVar43 = uVar3, cVar14 == '\0')" ( (comma_expression "uVar43 = uVar3, cVar14 == '\0'" (assignment_expression "uVar43 = uVar3" identifier = identifier) , (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" { (if_statement "if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }" { (expression_statement "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;" (assignment_expression "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1" (pointer_expression "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" * (cast_expression "(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = (binary_expression "(ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1" (call_expression "(ulong)(*(char *)((long)param_1 + 0x1e1) != '\0')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(char *)((long)param_1 + 0x1e1) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1e1) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" * (cast_expression "(char *)((long)param_1 + 0x1e1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) + number_literal)) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = number_literal) ;) }) (else_clause "else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" else (if_statement "if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" if (parenthesized_expression "(*(char *)((long)param_1 + 0x1e1) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1e1) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" * (cast_expression "(char *)((long)param_1 + 0x1e1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }" { (expression_statement "FUN_001c6700(&local_158,&local_18c);" (call_expression "FUN_001c6700(&local_158,&local_18c)" identifier (argument_list "(&local_158,&local_18c)" ( (pointer_expression "&local_158" & identifier) , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) }) (else_clause "else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" else (compound_statement "{\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" { (expression_statement "uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);" (assignment_expression "uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar17 + (ulong)local_18c * 4)" * (cast_expression "(undefined4 *)(lVar17 + (ulong)local_18c * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + (ulong)local_18c * 4)" ( (binary_expression "lVar17 + (ulong)local_18c * 4" identifier + (binary_expression "(ulong)local_18c * 4" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);" (assignment_expression "uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar18 + (ulong)local_18c * 4)" * (cast_expression "(undefined4 *)(lVar18 + (ulong)local_18c * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + (ulong)local_18c * 4)" ( (binary_expression "lVar18 + (ulong)local_18c * 4" identifier + (binary_expression "(ulong)local_18c * 4" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" identifier (argument_list "(&local_a8,__s1)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "local_88 = uVar42;" (assignment_expression "local_88 = uVar42" identifier = identifier) ;) (expression_statement "local_84 = CONCAT44(uVar6,uVar5);" (assignment_expression "local_84 = CONCAT44(uVar6,uVar5)" identifier = (call_expression "CONCAT44(uVar6,uVar5)" identifier (argument_list "(uVar6,uVar5)" ( identifier , identifier )))) ;) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 2)" * (cast_expression "(undefined8 *)(puVar37 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 2)" ( (binary_expression "puVar37 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 4)" * (cast_expression "(undefined8 *)(puVar37 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 4)" ( (binary_expression "puVar37 + 4" identifier + number_literal) ))))) ;) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 6)" * (cast_expression "(undefined8 *)(puVar37 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 6)" ( (binary_expression "puVar37 + 6" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 8)" * (cast_expression "(undefined8 *)(puVar37 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 8)" ( (binary_expression "puVar37 + 8" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 10)" * (cast_expression "(undefined8 *)(puVar37 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 10)" ( (binary_expression "puVar37 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" * (cast_expression "(undefined8 *)(puVar37 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xc)" ( (binary_expression "puVar37 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" * (cast_expression "(undefined8 *)(puVar37 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xe)" ( (binary_expression "puVar37 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" identifier . field_identifier) = (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" ( identifier )) * (cast_expression "(undefined8 *)puVar37" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_7c = CONCAT44(uVar3,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar3,(undefined4)local_7c)" identifier = (call_expression "CONCAT44(uVar3,(undefined4)local_7c)" identifier (argument_list "(uVar3,(undefined4)local_7c)" ( identifier , (cast_expression "(undefined4)local_7c" ( (type_descriptor "undefined4" type_identifier) ) identifier) )))) ;) comment (expression_statement "FUN_001d6880(param_1 + 0x7a,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x7a,&local_a8)" identifier (argument_list "(param_1 + 0x7a,&local_a8)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) , (pointer_expression "&local_a8" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) })) }))))) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) })) (if_statement "if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar20 = uVar32 * 8;" (assignment_expression "lVar20 = uVar32 * 8" identifier = (binary_expression "uVar32 * 8" identifier * number_literal)) ;) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" if (parenthesized_expression "(*(char *)(lVar28 + 0x2809) == '\0')" ( (binary_expression "*(char *)(lVar28 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar28 + 0x2809)" * (cast_expression "(char *)(lVar28 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x2809)" ( (binary_expression "lVar28 + 0x2809" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }" { (labeled_statement "LAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" statement_identifier : (if_statement "if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" if (parenthesized_expression "(*(int *)(lVar28 + 0x9050) != 0)" ( (binary_expression "*(int *)(lVar28 + 0x9050) != 0" (pointer_expression "*(int *)(lVar28 + 0x9050)" * (cast_expression "(int *)(lVar28 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x9050)" ( (binary_expression "lVar28 + 0x9050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" { (if_statement "if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" if (parenthesized_expression "(lVar29 == 0)" ( (binary_expression "lVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" { (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }" if (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1)" ( (binary_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1" (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + lVar20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + lVar20)" ( (binary_expression "*(long *)(param_1 + 0x38) + lVar20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }" { comment comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x6f9,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) (expression_statement "bVar27 = (byte)local_188[2];" (assignment_expression "bVar27 = (byte)local_188[2]" identifier = (cast_expression "(byte)local_188[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_188[2]" identifier [ number_literal ]))) ;) (labeled_statement "joined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" statement_identifier : (if_statement "if ((bVar27 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" if (parenthesized_expression "((bVar27 & 2) != 0)" ( (binary_expression "(bVar27 & 2) != 0" (parenthesized_expression "(bVar27 & 2)" ( (binary_expression "bVar27 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" { comment (expression_statement "cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);" (assignment_expression "cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" identifier = (call_expression "FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" identifier (argument_list "(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" ( (pointer_expression "*(undefined8 *)(param_2 + 0x298)" * (cast_expression "(undefined8 *)(param_2 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;)) (expression_statement "plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);" (assignment_expression "plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" identifier = (cast_expression "(long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" identifier (argument_list "(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" ( (pointer_expression "*(undefined8 *)(param_2 + 0x298)" * (cast_expression "(undefined8 *)(param_2 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) , identifier , identifier ))))) ;) (expression_statement "lVar28 = plVar25[1];" (assignment_expression "lVar28 = plVar25[1]" identifier = (subscript_expression "plVar25[1]" identifier [ number_literal ])) ;) (expression_statement "(**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);" (call_expression "(**(code **)(*plVar25 + 0x80))(&local_a8,plVar25)" (parenthesized_expression "(**(code **)(*plVar25 + 0x80))" ( (pointer_expression "**(code **)(*plVar25 + 0x80)" * (pointer_expression "*(code **)(*plVar25 + 0x80)" * (cast_expression "(code **)(*plVar25 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar25 + 0x80)" ( (binary_expression "*plVar25 + 0x80" (pointer_expression "*plVar25" * identifier) + number_literal) ))))) )) (argument_list "(&local_a8,plVar25)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "puVar36 = local_a8;" (assignment_expression "puVar36 = local_a8" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)(param_1 + 2);" (assignment_expression "uVar22 = *(undefined8 *)(param_1 + 2)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 2)" * (cast_expression "(undefined8 *)(param_1 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" if (parenthesized_expression "(*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0)" ( (binary_expression "*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0" (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }" { comment (expression_statement "FUN_00168a50(&local_f8,param_1 + 0x3e);" (call_expression "FUN_00168a50(&local_f8,param_1 + 0x3e)" identifier (argument_list "(&local_f8,param_1 + 0x3e)" ( (pointer_expression "&local_f8" & identifier) , (binary_expression "param_1 + 0x3e" identifier + number_literal) ))) ;) }) (else_clause "else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" else (compound_statement "{\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" { comment (expression_statement "(**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);" (call_expression "(**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c)" (parenthesized_expression "(**(code **)(*(long *)param_1 + 0x80))" ( (pointer_expression "**(code **)(*(long *)param_1 + 0x80)" * (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(&local_f8,param_1,local_18c)" ( (pointer_expression "&local_f8" & identifier) , identifier , identifier ))) ;) }))) (expression_statement "puVar13 = local_f8;" (assignment_expression "puVar13 = local_f8" identifier = identifier) ;) (expression_statement "uVar12 = DAT_0043e8e8;" (assignment_expression "uVar12 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );" (assignment_expression "uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" identifier = (call_expression "gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" identifier (argument_list "(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" ( (string_literal ""%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") )))) ;) comment (expression_statement "FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);" (call_expression "FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28)" identifier (argument_list "(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }" if (parenthesized_expression "(local_f8 != auStack_e8)" ( (binary_expression "local_f8 != auStack_e8" identifier != identifier) )) (compound_statement "{\n                          FUN_002dac60();\n                        }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_001dc237;" goto statement_identifier ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) ))))) ;) }))) }))) }) (else_clause "else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" else (compound_statement "{\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" { (if_statement "if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" if (parenthesized_expression "(lVar29 == 0)" ( (binary_expression "lVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" { (if_statement "if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }" if (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1)" ( (binary_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1" (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + lVar20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + lVar20)" ( (binary_expression "*(long *)(param_1 + 0x38) + lVar20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }" { comment comment (expression_statement "FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x6e4,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) (if_statement "if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }" if (parenthesized_expression "((local_188[2] & 2) != 0)" ( (binary_expression "(local_188[2] & 2) != 0" (parenthesized_expression "(local_188[2] & 2)" ( (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }" { (expression_statement "local_a0 = local_18c;" (assignment_expression "local_a0 = local_18c" identifier = identifier) ;) (expression_statement "local_a8 = param_1;" (assignment_expression "local_a8 = param_1" identifier = identifier) ;) (expression_statement "lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);" (assignment_expression "lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" identifier = (call_expression "FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" identifier (argument_list "(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" ( (binary_expression "*(long *)(param_2 + 0x290) + 0x50" (pointer_expression "*(long *)(param_2 + 0x290)" * (cast_expression "(long *)(param_2 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_a8" & identifier) )))) ;) (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }" if (parenthesized_expression "(lVar20 != 0)" ( (binary_expression "lVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                      if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }" { (if_statement "if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) ))))) ;) (expression_statement "lVar20 = uVar32 * 8;" (assignment_expression "lVar20 = uVar32 * 8" identifier = (binary_expression "uVar32 * 8" identifier * number_literal)) ;) (goto_statement "goto LAB_001db162;" goto statement_identifier ;) })) (if_statement "if (lVar28 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;" if (parenthesized_expression "(*(char *)(lVar28 + 0x4b19) == '\0')" ( (binary_expression "*(char *)(lVar28 + 0x4b19) == '\0'" (pointer_expression "*(char *)(lVar28 + 0x4b19)" * (cast_expression "(char *)(lVar28 + 0x4b19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x4b19)" ( (binary_expression "lVar28 + 0x4b19" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;)) (expression_statement "uVar22 = *(undefined8 *)(param_1 + 2);" (assignment_expression "uVar22 = *(undefined8 *)(param_1 + 2)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 2)" * (cast_expression "(undefined8 *)(param_1 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" if (parenthesized_expression "(*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0)" ( (binary_expression "*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0" (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }" { comment (expression_statement "FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);" (call_expression "FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32)" identifier (argument_list "(&local_a8,param_1 + 0x3e,uVar32)" ( (pointer_expression "&local_a8" & identifier) , (binary_expression "param_1 + 0x3e" identifier + number_literal) , identifier ))) ;) }) (else_clause "else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" else (compound_statement "{\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" { comment (expression_statement "(**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);" (call_expression "(**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32)" (parenthesized_expression "(**(code **)(*(long *)param_1 + 0x80))" ( (pointer_expression "**(code **)(*(long *)param_1 + 0x80)" * (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(&local_a8,param_1,uVar32)" ( (pointer_expression "&local_a8" & identifier) , identifier , identifier ))) ;) }))) (expression_statement "puVar36 = local_a8;" (assignment_expression "puVar36 = local_a8" identifier = identifier) ;) (expression_statement "uVar12 = DAT_0043e8e8;" (assignment_expression "uVar12 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");" (assignment_expression "uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'")" identifier = (call_expression "gettext("%s: removing unused section from \'%s\' in file \'%s\'")" identifier (argument_list "("%s: removing unused section from \'%s\' in file \'%s\'")" ( (string_literal ""%s: removing unused section from \'%s\' in file \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") )))) ;) comment (expression_statement "FUN_00178480(uVar26,uVar12,puVar36,uVar22);" (call_expression "FUN_00178480(uVar26,uVar12,puVar36,uVar22)" identifier (argument_list "(uVar26,uVar12,puVar36,uVar22)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }" statement_identifier : (if_statement "if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                      FUN_002dac60();\n                    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_001db6f8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }" if (parenthesized_expression "(*(int *)(lVar28 + 0x9050) != 0)" ( (binary_expression "*(int *)(lVar28 + 0x9050) != 0" (pointer_expression "*(int *)(lVar28 + 0x9050)" * (cast_expression "(int *)(lVar28 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x9050)" ( (binary_expression "lVar28 + 0x9050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }" { (expression_statement "bVar27 = (byte)local_188[2];" (assignment_expression "bVar27 = (byte)local_188[2]" identifier = (cast_expression "(byte)local_188[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_188[2]" identifier [ number_literal ]))) ;) (goto_statement "goto joined_r0x001db186;" goto statement_identifier ;) })) }))) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(lVar29 != 2)" ( (binary_expression "lVar29 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }" { (labeled_statement "LAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" statement_identifier : (if_statement "if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }" { (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" else (compound_statement "{\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar16 = *(int *)(lVar17 + uVar32 * 4);" (assignment_expression "iVar16 = *(int *)(lVar17 + uVar32 * 4)" identifier = (pointer_expression "*(int *)(lVar17 + uVar32 * 4)" * (cast_expression "(int *)(lVar17 + uVar32 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);" (assignment_expression "uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" identifier = (call_expression "FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" identifier (argument_list "(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_188" & identifier) , identifier , identifier , (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) , (pointer_expression "&local_a8" & identifier) )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;" (assignment_expression "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8" (pointer_expression "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (if_statement "if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }" if (parenthesized_expression "((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0))" ( (binary_expression "(local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)" (parenthesized_expression "(local_a8 == (uint *)0xffffffffffffffff)" ( (binary_expression "local_a8 == (uint *)0xffffffffffffffff" identifier == (cast_expression "(uint *)0xffffffffffffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }" { (expression_statement "*(undefined1 *)(param_1 + 0x1e) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1e) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1e)" * (cast_expression "(undefined1 *)(param_1 + 0x1e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e)" ( (binary_expression "param_1 + 0x1e" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" { comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = (local_188[2] & 2) == 0;" (assignment_expression "bVar46 = (local_188[2] & 2) == 0" identifier = (binary_expression "(local_188[2] & 2) == 0" (parenthesized_expression "(local_188[2] & 2)" ( (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" identifier [ number_literal ]) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }" { (expression_statement "lVar28 = 0xc;" (assignment_expression "lVar28 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".debug_info";" (assignment_expression "pbVar39 = (byte *)".debug_info"" identifier = (cast_expression "(byte *)".debug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_info"" " string_content "))) ;) (do_statement "do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);" do (compound_statement "{\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (expression_statement "bVar47 = false;" (assignment_expression "bVar47 = false" identifier = false) ;) (expression_statement "bVar45 = (!bVar45 && !bVar46) == bVar45;" (assignment_expression "bVar45 = (!bVar45 && !bVar46) == bVar45" identifier = (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }" { (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".zdebug_info";" (assignment_expression "pbVar39 = (byte *)".zdebug_info"" identifier = (cast_expression "(byte *)".zdebug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug_info"" " string_content "))) ;) (do_statement "do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);" do (compound_statement "{\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar47 = *pbVar38 < *pbVar39;" (assignment_expression "bVar47 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" identifier = false) ;) (expression_statement "bVar45 = (!bVar47 && !bVar45) == bVar47;" (assignment_expression "bVar45 = (!bVar47 && !bVar45) == bVar47" identifier = (binary_expression "(!bVar47 && !bVar45) == bVar47" (parenthesized_expression "(!bVar47 && !bVar45)" ( (binary_expression "!bVar47 && !bVar45" (unary_expression "!bVar47" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }" { (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".debug_types";" (assignment_expression "pbVar39 = (byte *)".debug_types"" identifier = (cast_expression "(byte *)".debug_types"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_types"" " string_content "))) ;) (do_statement "do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);" do (compound_statement "{\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (expression_statement "bVar47 = false;" (assignment_expression "bVar47 = false" identifier = false) ;) (expression_statement "bVar45 = (!bVar46 && !bVar45) == bVar46;" (assignment_expression "bVar45 = (!bVar46 && !bVar45) == bVar46" identifier = (binary_expression "(!bVar46 && !bVar45) == bVar46" (parenthesized_expression "(!bVar46 && !bVar45)" ( (binary_expression "!bVar46 && !bVar45" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }" { (expression_statement "lVar28 = 0xe;" (assignment_expression "lVar28 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar38 = (byte *)".zdebug_types";" (assignment_expression "pbVar38 = (byte *)".zdebug_types"" identifier = (cast_expression "(byte *)".zdebug_types"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug_types"" " string_content "))) ;) (do_statement "do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);" do (compound_statement "{\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar47 = *__s1 < *pbVar38;" (assignment_expression "bVar47 = *__s1 < *pbVar38" identifier = (binary_expression "*__s1 < *pbVar38" (pointer_expression "*__s1" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar45 = *__s1 == *pbVar38;" (assignment_expression "bVar45 = *__s1 == *pbVar38" identifier = (binary_expression "*__s1 == *pbVar38" (pointer_expression "*__s1" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "__s1 = __s1 + (ulong)bVar48 * -2 + 1;" (assignment_expression "__s1 = __s1 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "__s1 + (ulong)bVar48 * -2 + 1" (binary_expression "__s1 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (if_statement "if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;" if (parenthesized_expression "((!bVar47 && !bVar45) != bVar47)" ( (binary_expression "(!bVar47 && !bVar45) != bVar47" (parenthesized_expression "(!bVar47 && !bVar45)" ( (binary_expression "!bVar47 && !bVar45" (unary_expression "!bVar47" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;)) })) (expression_statement "FUN_001c6700(&local_118,&local_18c);" (call_expression "FUN_001c6700(&local_118,&local_18c)" identifier (argument_list "(&local_118,&local_18c)" ( (pointer_expression "&local_118" & identifier) , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) })) comment (expression_statement "FUN_001c6700(&local_138,&local_18c);" (call_expression "FUN_001c6700(&local_138,&local_18c)" identifier (argument_list "(&local_138,&local_18c)" ( (pointer_expression "&local_138" & identifier) , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) })) })) })) })))) })) }) (else_clause "else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" else (compound_statement "{\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" { (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;" if (parenthesized_expression "((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))" ( (binary_expression "(*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0)" (parenthesized_expression "(*(char *)((long)param_1 + 0x1e1) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1e1) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" * (cast_expression "(char *)((long)param_1 + 0x1e1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((local_188[2] & 2) == 0)" ( (binary_expression "(local_188[2] & 2) == 0" (parenthesized_expression "(local_188[2] & 2)" ( (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001daeca;" goto statement_identifier ;)) (expression_statement "uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);" (assignment_expression "uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);" (assignment_expression "uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) ))))) ;) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" identifier (argument_list "(&local_a8,__s1)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "local_88 = uVar42;" (assignment_expression "local_88 = uVar42" identifier = identifier) ;) (expression_statement "local_84 = CONCAT44(uVar5,uVar6);" (assignment_expression "local_84 = CONCAT44(uVar5,uVar6)" identifier = (call_expression "CONCAT44(uVar5,uVar6)" identifier (argument_list "(uVar5,uVar6)" ( identifier , identifier )))) ;) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 2)" * (cast_expression "(undefined8 *)(puVar37 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 2)" ( (binary_expression "puVar37 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 4)" * (cast_expression "(undefined8 *)(puVar37 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 4)" ( (binary_expression "puVar37 + 4" identifier + number_literal) ))))) ;) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 6)" * (cast_expression "(undefined8 *)(puVar37 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 6)" ( (binary_expression "puVar37 + 6" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 8)" * (cast_expression "(undefined8 *)(puVar37 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 8)" ( (binary_expression "puVar37 + 8" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 10)" * (cast_expression "(undefined8 *)(puVar37 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 10)" ( (binary_expression "puVar37 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" * (cast_expression "(undefined8 *)(puVar37 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xc)" ( (binary_expression "puVar37 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" * (cast_expression "(undefined8 *)(puVar37 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xe)" ( (binary_expression "puVar37 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" identifier . field_identifier) = (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" ( identifier )) * (cast_expression "(undefined8 *)puVar37" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_7c = CONCAT44(uVar43,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar43,(undefined4)local_7c)" identifier = (call_expression "CONCAT44(uVar43,(undefined4)local_7c)" identifier (argument_list "(uVar43,(undefined4)local_7c)" ( identifier , (cast_expression "(undefined4)local_7c" ( (type_descriptor "undefined4" type_identifier) ) identifier) )))) ;) comment (expression_statement "FUN_001d6880(param_1 + 0x7a,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x7a,&local_a8)" identifier (argument_list "(param_1 + 0x7a,&local_a8)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) , (pointer_expression "&local_a8" & identifier) ))) ;) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                  FUN_002dac60();\n                }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = number_literal) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) }))) })) }) (else_clause "else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" else (if_statement "if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" if (parenthesized_expression "(local_170 == local_168)" ( (binary_expression "local_170 == local_168" identifier == identifier) )) (compound_statement "{\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }" { (expression_statement "FUN_00160c40(&local_178,local_170,&local_18c);" (call_expression "FUN_00160c40(&local_178,local_170,&local_18c)" identifier (argument_list "(&local_178,local_170,&local_18c)" ( (pointer_expression "&local_178" & identifier) , identifier , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) }) (else_clause "else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" else (compound_statement "{\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" { (expression_statement "*local_170 = local_18c;" (assignment_expression "*local_170 = local_18c" (pointer_expression "*local_170" * identifier) = identifier) ;) (expression_statement "local_170 = local_170 + 1;" (assignment_expression "local_170 = local_170 + 1" identifier = (binary_expression "local_170 + 1" identifier + number_literal)) ;) }))))) }) (else_clause "else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" else (compound_statement "{\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" { (expression_statement "cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);" (assignment_expression "cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2)" identifier = (call_expression "FUN_001bdd20(param_1,__s1,local_18c,param_2)" identifier (argument_list "(param_1,__s1,local_18c,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "bVar45 = cVar15 == '\0';" (assignment_expression "bVar45 = cVar15 == '\0'" identifier = (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "bVar46 = cVar15 == '\x01';" (assignment_expression "bVar46 = cVar15 == '\x01'" identifier = (binary_expression "cVar15 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence '))) ;) (if_statement "if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = cVar14 == '\0';" (assignment_expression "bVar46 = cVar14 == '\0'" identifier = (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" { comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';" (assignment_expression "bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" identifier = (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }" { (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << ((byte)local_18c & 0x3f)" number_literal << (parenthesized_expression "((byte)local_18c & 0x3f)" ( (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (expression_statement "bVar46 = *puVar19 == 0;" (assignment_expression "bVar46 = *puVar19 == 0" identifier = (binary_expression "*puVar19 == 0" (pointer_expression "*puVar19" * identifier) == number_literal)) ;) })) })) })) (expression_statement "lVar28 = 0x10;" (assignment_expression "lVar28 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".note.GNU-stack";" (assignment_expression "pbVar39 = (byte *)".note.GNU-stack"" identifier = (cast_expression "(byte *)".note.GNU-stack"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".note.GNU-stack"" " string_content "))) ;) (do_statement "do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);" do (compound_statement "{\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (if_statement "if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }" if (parenthesized_expression "((!bVar45 && !bVar46) == bVar45)" ( (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) == identifier) )) (compound_statement "{\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }" { (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "local_238 = local_238 | *(ulong *)(local_188 + 2);" (assignment_expression "local_238 = local_238 | *(ulong *)(local_188 + 2)" identifier = (binary_expression "local_238 | *(ulong *)(local_188 + 2)" identifier | (pointer_expression "*(ulong *)(local_188 + 2)" * (cast_expression "(ulong *)(local_188 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_188 + 2)" ( (binary_expression "local_188 + 2" identifier + number_literal) )))))) ;) (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << ((byte)local_18c & 0x3f)" number_literal << (parenthesized_expression "((byte)local_18c & 0x3f)" ( (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) })) (expression_statement "cVar15 = FUN_001bd330(param_1,__s1);" (assignment_expression "cVar15 = FUN_001bd330(param_1,__s1)" identifier = (call_expression "FUN_001bd330(param_1,__s1)" identifier (argument_list "(param_1,__s1)" ( identifier , identifier )))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (expression_statement "puVar11 = PTR_DAT_0043e6b0;" (assignment_expression "puVar11 = PTR_DAT_0043e6b0" identifier = identifier) ;) (expression_statement "bVar27 = (byte)local_18c;" (assignment_expression "bVar27 = (byte)local_18c" identifier = (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }" if (parenthesized_expression "((cVar15 == '\x01') && (cVar14 == '\0'))" ( (binary_expression "(cVar15 == '\x01') && (cVar14 == '\0')" (parenthesized_expression "(cVar15 == '\x01')" ( (binary_expression "cVar15 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" { comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }" { (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))))) ;) })) })) (if_statement "if (*(long *)(puVar11 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }" if (parenthesized_expression "(*(long *)(puVar11 + 0x18) == 0)" ( (binary_expression "*(long *)(puVar11 + 0x18) == 0" (pointer_expression "*(long *)(puVar11 + 0x18)" * (cast_expression "(long *)(puVar11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "__s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);" (assignment_expression "__s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" identifier = (pointer_expression "*(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" * (cast_expression "(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" ( (binary_expression "*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60" (pointer_expression "*(long *)(*(long *)(puVar11 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(puVar11 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar11 + 0x18) + 8)" ( (binary_expression "*(long *)(puVar11 + 0x18) + 8" (pointer_expression "*(long *)(puVar11 + 0x18)" * (cast_expression "(long *)(puVar11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar45 = __s2 == (char *)0x0;" (assignment_expression "bVar45 = __s2 == (char *)0x0" identifier = (binary_expression "__s2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }" { (expression_statement "iVar16 = strcmp((char *)__s1,__s2);" (assignment_expression "iVar16 = strcmp((char *)__s1,__s2)" identifier = (call_expression "strcmp((char *)__s1,__s2)" identifier (argument_list "((char *)__s1,__s2)" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "bVar45 = iVar16 == 0;" (assignment_expression "bVar45 = iVar16 == 0" identifier = (binary_expression "iVar16 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar45) goto LAB_001daf00;" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (goto_statement "goto LAB_001daf00;" goto statement_identifier ;)) (labeled_statement "LAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);" statement_identifier : (expression_statement "puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(uVar42 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar42 >> 3 & 0x1ffffff8)" ( (binary_expression "uVar42 >> 3 & 0x1ffffff8" (binary_expression "uVar42 >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;)) (expression_statement "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))))) ;) (if_statement "if (uVar43 != 7) goto LAB_001dabee;" if (parenthesized_expression "(uVar43 != 7)" ( (binary_expression "uVar43 != 7" identifier != number_literal) )) (goto_statement "goto LAB_001dabee;" goto statement_identifier ;)) (labeled_statement "LAB_001daf2c:\n            bVar46 = uVar43 == 7;" statement_identifier : (expression_statement "bVar46 = uVar43 == 7;" (assignment_expression "bVar46 = uVar43 == 7" identifier = (binary_expression "uVar43 == 7" identifier == number_literal)) ;)) (expression_statement "bVar45 = uVar43 < 7;" (assignment_expression "bVar45 = uVar43 < 7" identifier = (binary_expression "uVar43 < 7" identifier < number_literal)) ;) (expression_statement "lVar28 = 0x13;" (assignment_expression "lVar28 = 0x13" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".note.gnu.property";" (assignment_expression "pbVar39 = (byte *)".note.gnu.property"" identifier = (cast_expression "(byte *)".note.gnu.property"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".note.gnu.property"" " string_content "))) ;) (do_statement "do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);" do (compound_statement "{\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (if_statement "if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" if (parenthesized_expression "((!bVar45 && !bVar46) != bVar45)" ( (binary_expression "(!bVar45 && !bVar46) != bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) != identifier) )) (compound_statement "{\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" { (expression_statement "bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;" (assignment_expression "bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0" identifier = (binary_expression "(1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0" (parenthesized_expression "(1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))" ( (binary_expression "1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))) & (pointer_expression "*(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" * (cast_expression "(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (binary_expression "(long)local_d8 + (ulong)(uVar42 >> 6) * 8" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(uVar42 >> 6) * 8" (call_expression "(ulong)(uVar42 >> 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar42 >> 6)" ( (binary_expression "uVar42 >> 6" identifier >> number_literal) ))) * number_literal)) ))))) )) == number_literal)) ;) (expression_statement "bVar45 = !bVar46;" (assignment_expression "bVar45 = !bVar46" identifier = (unary_expression "!bVar46" ! identifier)) ;) (if_statement "if (bVar46) goto LAB_001dac20;" if (parenthesized_expression "(bVar46)" ( identifier )) (goto_statement "goto LAB_001dac20;" goto statement_identifier ;)) (goto_statement "goto LAB_001daf78;" goto statement_identifier ;) })) comment (expression_statement "FUN_001ca630(param_1,param_3,uVar32);" (call_expression "FUN_001ca630(param_1,param_3,uVar32)" identifier (argument_list "(param_1,param_3,uVar32)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << ((byte)local_18c & 0x3f)" number_literal << (parenthesized_expression "((byte)local_18c & 0x3f)" ( (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;) })) (labeled_statement "LAB_001daf00:\n          bVar46 = false;" statement_identifier : (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" identifier = false) ;)) (expression_statement "lVar28 = 0x10;" (assignment_expression "lVar28 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".gnu.attributes";" (assignment_expression "pbVar39 = (byte *)".gnu.attributes"" identifier = (cast_expression "(byte *)".gnu.attributes"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.attributes"" " string_content "))) ;) (do_statement "do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);" do (compound_statement "{\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (if_statement "if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;" if (parenthesized_expression "((!bVar46 && !bVar45) == bVar46)" ( (binary_expression "(!bVar46 && !bVar45) == bVar46" (parenthesized_expression "(!bVar46 && !bVar45)" ( (binary_expression "!bVar46 && !bVar45" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_001dabc4;" goto statement_identifier ;)) (if_statement "if (uVar43 == 7) goto LAB_001daf2c;" if (parenthesized_expression "(uVar43 == 7)" ( (binary_expression "uVar43 == 7" identifier == number_literal) )) (goto_statement "goto LAB_001daf2c;" goto statement_identifier ;)) (labeled_statement "LAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;" statement_identifier : (expression_statement "bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;" (assignment_expression "bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0" identifier = (binary_expression "(1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0" (parenthesized_expression "(1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))" ( (binary_expression "1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))) & (pointer_expression "*(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" * (cast_expression "(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (binary_expression "(long)local_d8 + (ulong)(uVar42 >> 6) * 8" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(uVar42 >> 6) * 8" (call_expression "(ulong)(uVar42 >> 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar42 >> 6)" ( (binary_expression "uVar42 >> 6" identifier >> number_literal) ))) * number_literal)) ))))) )) != number_literal)) ;)) (if_statement "if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" if (parenthesized_expression "(bVar45)" ( identifier )) (compound_statement "{\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }" { (labeled_statement "LAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);" statement_identifier : (expression_statement "local_210 = *(long *)(param_3 + 0x378);" (assignment_expression "local_210 = *(long *)(param_3 + 0x378)" identifier = (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) ))))) ;)) (if_statement "if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;" if (parenthesized_expression "(local_210 == 0)" ( (binary_expression "local_210 == 0" identifier == number_literal) )) (compound_statement "{\n              if (!bVar45) goto LAB_001da9c0;\n            }" { (if_statement "if (!bVar45) goto LAB_001da9c0;" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (goto_statement "goto LAB_001da9c0;" goto statement_identifier ;)) }) (else_clause "else if (!bVar45) goto LAB_001dac76;" else (if_statement "if (!bVar45) goto LAB_001dac76;" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (goto_statement "goto LAB_001dac76;" goto statement_identifier ;)))) }) (else_clause "else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" else (compound_statement "{\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (if_statement "if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }" if (parenthesized_expression "(uVar43 != 0x11)" ( (binary_expression "uVar43 != 0x11" identifier != number_literal) )) (compound_statement "{\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }" { (labeled_statement "LAB_001dac20:\n              bVar46 = false;" statement_identifier : (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" identifier = false) ;)) (expression_statement "bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;" (assignment_expression "bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0" identifier = (binary_expression "(*(byte *)((long)local_188 + 9) & 2) == 0" (parenthesized_expression "(*(byte *)((long)local_188 + 9) & 2)" ( (binary_expression "*(byte *)((long)local_188 + 9) & 2" (pointer_expression "*(byte *)((long)local_188 + 9)" * (cast_expression "(byte *)((long)local_188 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_188 + 9)" ( (binary_expression "(long)local_188 + 9" (cast_expression "(long)local_188" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }" if (parenthesized_expression "(bVar47)" ( identifier )) (compound_statement "{\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }" { (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".gnu.linkonce";" (assignment_expression "pbVar39 = (byte *)".gnu.linkonce"" identifier = (cast_expression "(byte *)".gnu.linkonce"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce"" " string_content "))) ;) (do_statement "do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);" do (compound_statement "{\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar47 = *pbVar38 == *pbVar39;" (assignment_expression "bVar47 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar47)" ( identifier )) ;) (if_statement "if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }" if (parenthesized_expression "(((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))" ( (binary_expression "((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0')" (parenthesized_expression "((!bVar46 && !bVar47) == bVar46)" ( (binary_expression "(!bVar46 && !bVar47) == bVar46" (parenthesized_expression "(!bVar46 && !bVar47)" ( (binary_expression "!bVar46 && !bVar47" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar47" ! identifier)) )) == identifier) )) && (parenthesized_expression "(cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0')" ( (comma_expression "cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'" (assignment_expression "cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188)" identifier = (call_expression "FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188)" identifier (argument_list "(param_1,param_3,uVar32,__s1,&local_188)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_188" & identifier) )))) , (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }" { (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);" statement_identifier : (expression_statement "local_210 = *(long *)(param_3 + 0x378);" (assignment_expression "local_210 = *(long *)(param_3 + 0x378)" identifier = (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) ))))) ;)) (if_statement "if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }" if (parenthesized_expression "((!bVar45) && (local_210 != 0))" ( (binary_expression "(!bVar45) && (local_210 != 0)" (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) && (parenthesized_expression "(local_210 != 0)" ( (binary_expression "local_210 != 0" identifier != number_literal) ))) )) (compound_statement "{\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }" { (labeled_statement "LAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);" statement_identifier : (expression_statement "cVar15 = FUN_00183010(uVar43);" (assignment_expression "cVar15 = FUN_00183010(uVar43)" identifier = (call_expression "FUN_00183010(uVar43)" identifier (argument_list "(uVar43)" ( identifier )))) ;)) (if_statement "if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }" { (expression_statement "uVar22 = *(undefined8 *)(local_188 + 8);" (assignment_expression "uVar22 = *(undefined8 *)(local_188 + 8)" identifier = (pointer_expression "*(undefined8 *)(local_188 + 8)" * (cast_expression "(undefined8 *)(local_188 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_188 + 8)" ( (binary_expression "local_188 + 8" identifier + number_literal) ))))) ;) (expression_statement "lVar28 = *(long *)(param_1 + 0x12);" (assignment_expression "lVar28 = *(long *)(param_1 + 0x12)" identifier = (pointer_expression "*(long *)(param_1 + 0x12)" * (cast_expression "(long *)(param_1 + 0x12)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x12)" ( (binary_expression "param_1 + 0x12" identifier + number_literal) ))))) ;) (if_statement "if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }" { (expression_statement "lVar20 = *(long *)(lVar28 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar28 + 0x10)" identifier = (pointer_expression "*(long *)(lVar28 + 0x10)" * (cast_expression "(long *)(lVar28 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x10)" ( (binary_expression "lVar28 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar29 = lVar28 + 8;" (assignment_expression "lVar29 = lVar28 + 8" identifier = (binary_expression "lVar28 + 8" identifier + number_literal)) ;) (if_statement "if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }" if (parenthesized_expression "(*(long *)(lVar28 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar28 + 0x10) != 0" (pointer_expression "*(long *)(lVar28 + 0x10)" * (cast_expression "(long *)(lVar28 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x10)" ( (binary_expression "lVar28 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }" { (do_statement "do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);" do (compound_statement "{\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      }" { (while_statement "while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }" while (parenthesized_expression "(lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c)" ( (comma_expression "lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c" (assignment_expression "lVar30 = lVar20" identifier = identifier) , (binary_expression "*(uint *)(lVar30 + 0x20) < local_18c" (pointer_expression "*(uint *)(lVar30 + 0x20)" * (cast_expression "(uint *)(lVar30 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x20)" ( (binary_expression "lVar30 + 0x20" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }" { (expression_statement "plVar25 = (long *)(lVar30 + 0x18);" (assignment_expression "plVar25 = (long *)(lVar30 + 0x18)" identifier = (cast_expression "(long *)(lVar30 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x18)" ( (binary_expression "lVar30 + 0x18" identifier + number_literal) )))) ;) (expression_statement "lVar20 = *plVar25;" (assignment_expression "lVar20 = *plVar25" identifier = (pointer_expression "*plVar25" * identifier)) ;) (expression_statement "lVar30 = lVar29;" (assignment_expression "lVar30 = lVar29" identifier = identifier) ;) (if_statement "if (*plVar25 == 0) goto LAB_001dacda;" if (parenthesized_expression "(*plVar25 == 0)" ( (binary_expression "*plVar25 == 0" (pointer_expression "*plVar25" * identifier) == number_literal) )) (goto_statement "goto LAB_001dacda;" goto statement_identifier ;)) })) (expression_statement "lVar20 = *(long *)(lVar30 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar30 + 0x10)" identifier = (pointer_expression "*(long *)(lVar30 + 0x10)" * (cast_expression "(long *)(lVar30 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x10)" ( (binary_expression "lVar30 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar29 = lVar30;" (assignment_expression "lVar29 = lVar30" identifier = identifier) ;) }) while (parenthesized_expression "(*(long *)(lVar30 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar30 + 0x10) != 0" (pointer_expression "*(long *)(lVar30 + 0x10)" * (cast_expression "(long *)(lVar30 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x10)" ( (binary_expression "lVar30 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" statement_identifier : (if_statement "if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" if (parenthesized_expression "((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c))" ( (binary_expression "(lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)" (parenthesized_expression "(lVar28 + 8 != lVar30)" ( (binary_expression "lVar28 + 8 != lVar30" (binary_expression "lVar28 + 8" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(uint *)(lVar30 + 0x20) <= local_18c)" ( (binary_expression "*(uint *)(lVar30 + 0x20) <= local_18c" (pointer_expression "*(uint *)(lVar30 + 0x20)" * (cast_expression "(uint *)(lVar30 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x20)" ( (binary_expression "lVar30 + 0x20" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" { (expression_statement "uVar22 = *(undefined8 *)(lVar30 + 0x28);" (assignment_expression "uVar22 = *(undefined8 *)(lVar30 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(lVar30 + 0x28)" * (cast_expression "(undefined8 *)(lVar30 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x28)" ( (binary_expression "lVar30 + 0x28" identifier + number_literal) ))))) ;) }))) })) })) (expression_statement "FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);" (call_expression "FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22)" identifier (argument_list "(local_210,param_1,local_18c,__s1,uVar22)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) })) (goto_statement "goto LAB_001da9c0;" goto statement_identifier ;) })) comment (expression_statement "cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);" (assignment_expression "cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" identifier = (call_expression "FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" identifier (argument_list "(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (goto_statement "goto LAB_001dac4f;" goto statement_identifier ;) })) (labeled_statement "LAB_001db6f8:\n            uVar32 = (ulong)local_18c;" statement_identifier : (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) }))) (labeled_statement "LAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;)) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_001daa92:\n        local_18c = uVar42 + 1;" statement_identifier : (expression_statement "local_18c = uVar42 + 1;" (assignment_expression "local_18c = uVar42 + 1" identifier = (binary_expression "uVar42 + 1" identifier + number_literal)) ;)) (expression_statement "puVar36 = puVar37 + 0x10;" (assignment_expression "puVar36 = puVar37 + 0x10" identifier = (binary_expression "puVar37 + 0x10" identifier + number_literal)) ;) (if_statement "if (uVar2 <= local_18c) goto LAB_001da530;" if (parenthesized_expression "(uVar2 <= local_18c)" ( (binary_expression "uVar2 <= local_18c" identifier <= identifier) )) (goto_statement "goto LAB_001da530;" goto statement_identifier ;)) (expression_statement "uVar32 = (ulong)*puVar36;" (assignment_expression "uVar32 = (ulong)*puVar36" identifier = (binary_expression "(ulong)*puVar36" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "uVar43 = puVar37[0x11];" (assignment_expression "uVar43 = puVar37[0x11]" identifier = (subscript_expression "puVar37[0x11]" identifier [ number_literal ])) ;) (expression_statement "puVar37 = puVar36;" (assignment_expression "puVar37 = puVar36" identifier = identifier) ;) (expression_statement "local_188 = puVar36;" (assignment_expression "local_188 = puVar36" identifier = identifier) ;) }) while (parenthesized_expression "(uVar32 < local_1c8)" ( (binary_expression "uVar32 < local_1c8" identifier < identifier) )) ;) })) (expression_statement "uVar2 = local_18c;" (assignment_expression "uVar2 = local_18c" identifier = identifier) ;) (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "uVar22 = gettext("bad section name offset for section %u: %lu");" (assignment_expression "uVar22 = gettext("bad section name offset for section %u: %lu")" identifier = (call_expression "gettext("bad section name offset for section %u: %lu")" identifier (argument_list "("bad section name offset for section %u: %lu")" ( (string_literal ""bad section name offset for section %u: %lu"" " string_content ") )))) ;) (expression_statement "FUN_001bd150(param_1,uVar22,uVar2,uVar32);" (call_expression "FUN_001bd150(param_1,uVar22,uVar2,uVar32)" identifier (argument_list "(param_1,uVar22,uVar2,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_118 != (uint *)0x0)" ( (binary_expression "local_118 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_138 != (uint *)0x0)" ( (binary_expression "local_138 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_158 != (uint *)0x0)" ( (binary_expression "local_158 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_178 != (uint *)0x0)" ( (binary_expression "local_178 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001d5cd0(local_270);" (call_expression "FUN_001d5cd0(local_270)" identifier (argument_list "(local_270)" ( identifier ))) ;) }) (else_clause "else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" else (if_statement "if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" { (expression_statement "lVar28 = *param_4;" (assignment_expression "lVar28 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (if_statement "if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "lVar28 = param_4[1];" (assignment_expression "lVar28 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" * identifier) = number_literal) ;) (if_statement "if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) = number_literal) ;) })))) (expression_statement "FUN_002dac60(lVar18);" (call_expression "FUN_002dac60(lVar18)" identifier (argument_list "(lVar18)" ( identifier ))) ;) (expression_statement "FUN_002dac60(lVar17);" (call_expression "FUN_002dac60(lVar17)" identifier (argument_list "(lVar17)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_layout(Sized_relobj_file<64,_false> * this, Symbol_table *\n   symtab, Layout * layout, Read_symbols_data * sd) */\n\nvoid __thiscall\ngold::Sized_relobj_file<64,_false>::do_layout\n          (Sized_relobj_file<64,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_symbols_data *sd)\n\n{\n  _Rb_tree_header *p_Var1;\n  _Base_ptr *pp_Var2;\n  char cVar3;\n  uint uVar4;\n  Elf_Word EVar5;\n  uint uVar6;\n  Plugin_manager *pPVar7;\n  Input_file *this_00;\n  iterator __position;\n  pointer pDVar8;\n  Compressed_section_map *pCVar9;\n  _Base_ptr p_Var10;\n  Garbage_collection *pGVar11;\n  _Base_ptr p_Var12;\n  pointer ppOVar13;\n  pointer puVar14;\n  pointer puVar15;\n  pointer pDVar16;\n  pointer ppOVar17;\n  File_view *pFVar18;\n  pointer pcVar19;\n  pointer pcVar20;\n  _func_int_varargs *p_Var21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  undefined8 uVar24;\n  bool bVar25;\n  bool bVar26;\n  bool bVar27;\n  Parameters *pPVar28;\n  Shdr SVar29;\n  off_t oVar30;\n  bool bVar31;\n  int iVar32;\n  void *pvVar33;\n  void *pvVar34;\n  Read_symbols_data *format;\n  size_t sVar35;\n  ulong *puVar36;\n  iterator iVar37;\n  General_options *pGVar38;\n  __node_base *p_Var39;\n  __node_type *__node;\n  ulong uVar40;\n  char *pcVar41;\n  pointer pDVar42;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar43;\n  Relocatable_relocs *rr;\n  Output_section *pOVar44;\n  Relobj *pRVar45;\n  char *pcVar46;\n  byte bVar47;\n  long lVar48;\n  _Base_ptr p_Var49;\n  _Base_ptr p_Var50;\n  allocator<char> *extraout_RDX;\n  allocator<char> *extraout_RDX_00;\n  allocator<char> *__a;\n  allocator<char> *__a_00;\n  allocator<char> *__a_01;\n  allocator<char> *extraout_RDX_01;\n  pointer pDVar51;\n  allocator<char> *extraout_RDX_02;\n  allocator<char> *extraout_RDX_03;\n  allocator<char> *extraout_RDX_04;\n  allocator<char> *extraout_RDX_05;\n  ulong uVar52;\n  ulong uVar53;\n  const_iterator __pos;\n  Shdr_data<64> *pSVar54;\n  pointer puVar55;\n  uint *puVar56;\n  uint uVar57;\n  byte *pbVar58;\n  byte *name;\n  size_type __n;\n  Sized_relobj_file<64,_false> *pSVar59;\n  size_type __n_00;\n  byte *pbVar60;\n  Elf_WXword sh_size;\n  uint uVar61;\n  pointer pDVar62;\n  uint uVar63;\n  uint uVar64;\n  _Base_ptr p_Var65;\n  ulong uVar66;\n  Shdr_data<64> *pSVar67;\n  bool bVar68;\n  bool bVar69;\n  bool bVar70;\n  byte bVar71;\n  Section_id SVar72;\n  _Bvector_base<std::allocator<bool>_> *local_270;\n  Symbols_data *local_240;\n  uint64_t local_238;\n  bool local_230;\n  section_size_type local_228;\n  Read_symbols_data *local_220;\n  Incremental_inputs *local_210;\n  section_size_type local_200;\n  File_view *local_1f8;\n  uchar *local_1f0;\n  ulong local_1c8;\n  Read_symbols_data *local_1c0;\n  Shdr_data<64> *local_1a0;\n  tuple<> local_18d;\n  uint i;\n  Shdr shdr;\n  _Head_base<0,_const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&,_false>\n  local_180;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> reloc_sections;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> eh_frame_sections;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> debug_info_sections;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> debug_types_sections;\n  Shdr shdr_2;\n  undefined1 auStack_e8 [16];\n  vector<bool,_std::allocator<bool>_> omit;\n  off_t offset;\n  uint local_a0;\n  undefined4 uStack_9c;\n  undefined1 auStack_98 [20];\n  undefined8 local_84;\n  uchar local_7c [4];\n  uint uStack_78;\n  Elf_WXword EStack_74;\n  Elf_Addr local_6c;\n  Elf_Off EStack_64;\n  Elf_WXword local_5c;\n  undefined8 uStack_54;\n  Elf_WXword local_4c;\n  Elf_WXword EStack_44;\n  \n  bVar71 = 0;\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  pGVar38 = parameters->options_;\n  uVar57 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_;\n  uVar4 = *(uint *)(*(long *)(parameters->target_ + 8) + 0x7c);\n  if (pGVar38 == (General_options *)0x0) goto LAB_001db857;\n  if ((pGVar38->gc_sections_).value == false) {\n    if (pGVar38->icf_status_ == ICF_NONE) {\n      if (layout->unique_segment_for_sections_specified_ == false) {\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n    if (local_240 != (Symbols_data *)0x0) {\n      if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }\n      bVar25 = true;\n      bVar26 = true;\n      local_1f0 = local_240->section_headers_data;\n      local_1f8 = (File_view *)local_240->symbols_data;\n      bVar27 = false;\n      local_200 = local_240->symbols_size;\n      local_1c8 = local_240->section_names_size;\n      local_228 = local_240->symbol_names_size;\n      local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n      local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n      format = local_220;\n      goto LAB_001da266;\n    }\n  }\n  if (sd == (Read_symbols_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar57 == 0) {\n    return;\n  }\n  local_240 = (Symbols_data *)operator_new(0x40);\n  Relobj::copy_symbols_data((Relobj *)this,local_240,sd,uVar57 << 6);\n  local_1f0 = local_240->section_headers_data;\n  (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = local_240;\n  local_1f8 = (File_view *)local_240->symbols_data;\n  local_1c8 = local_240->section_names_size;\n  local_200 = local_240->symbols_size;\n  local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n  pGVar38 = parameters->options_;\n  local_228 = local_240->symbol_names_size;\n  local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n  if (pGVar38 == (General_options *)0x0) {\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar25 = true;\n  bVar26 = false;\n  bVar27 = true;\n  format = local_1c0;\nLAB_001da266:\n  pPVar7 = pGVar38->plugins_;\n  bVar47 = 0;\n  if ((pPVar7 != (Plugin_manager *)0x0) && (bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false)) {\n    bVar47 = pPVar7->in_replacement_phase_ ^ 1;\n  }\n  uVar66 = (ulong)uVar57;\n  pvVar33 = operator_new(uVar66 * 4);\n  uVar52 = 0;\n  do {\n    uVar53 = uVar52;\n    uVar52 = uVar53 + 1;\n    *(undefined4 *)((long)pvVar33 + uVar53 * 4) = 0;\n  } while (uVar66 != uVar52);\n                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */\n  pvVar34 = operator_new(uVar66 * 4);\n  iVar32 = (int)format;\n  uVar40 = 0;\n  do {\n    *(undefined4 *)((long)pvVar34 + uVar40 * 4) = 0;\n    bVar69 = uVar53 != uVar40;\n    uVar40 = uVar40 + 1;\n  } while (bVar69);\n  pSVar54 = (Shdr_data<64> *)(local_1f0 + 0x40);\n  if (uVar57 < 2) {\n    uVar64 = 0;\n  }\n  else {\n    uVar63 = 1;\n    uVar64 = 0;\n    local_1a0 = pSVar54;\n    do {\n      if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }\n      EVar5 = local_1a0->sh_type;\n      if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }\n      iVar32 = (int)format;\n      uVar63 = uVar63 + 1;\n      local_1a0 = local_1a0 + 1;\n    } while (uVar63 != uVar57);\n  }\n  if (!bVar26) {\n    ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_start;\n    uVar40 = (long)ppOVar13 - (long)ppOVar17 >> 3;\n    if (uVar40 < uVar52) {\n      __n = uVar52 - uVar40;\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);\n      iVar32 = (int)__n;\n    }\n    else if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }\n    puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_finish;\n    puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start;\n    uVar40 = (long)puVar14 - (long)puVar15 >> 3;\n    if (uVar40 < uVar52) {\n      __n_00 = uVar52 - uVar40;\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);\n      iVar32 = (int)__n_00;\n    }\n    else if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }\n  }\n  this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.input_file_;\n  if (this_00 == (Input_file *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    Object::input_file((Object *)0x0);\n  }\n  local_230 = Input_file::just_symbols(this_00);\n  if (local_230) {\n    if (!bVar26) {\n      pFVar18 = sd->section_headers;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }\n      pFVar18 = sd->section_names;\n      sd->section_headers = (File_view *)0x0;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }\n      sd->section_names = (File_view *)0x0;\n    }\n  }\n  else {\n    if (uVar64 != 0) {\n      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      pPVar7 = parameters->options_->plugins_;\n      __position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;\n      shdr.p_ = (Shdr_data<64> *)this;\n      if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }\n      pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;\n      uVar52 = (ulong)uVar64;\n      if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }\n      this->is_deferred_layout_ = true;\n    }\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    uVar52 = uVar53 + 0x40 >> 6;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    uVar53 = uVar52 * 8;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage = (_Bit_pointer)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + uVar52;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = uVar57 & 0x3f;\n    offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base._M_p;\n    local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base._M_offset;\n    memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53);\n    pGVar38 = parameters->options_;\n    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    bVar69 = (pGVar38->relocatable_).value;\n    cVar3 = bVar69;\n    if (bVar69 == false) {\n      cVar3 = (pGVar38->emit_relocs_).value;\n    }\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    i = 1;\n    if (uVar57 < 2) {\n      local_238 = 0;\n      __a = extraout_RDX_00;\nLAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n      if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }\n      if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }\n      if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }\n      pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;\n      if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }\n      uVar57 = (uint)pSVar59;\n      if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }\n      if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }\n      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n      operator_delete(pvVar34);\n      operator_delete(pvVar33);\n      return;\n    }\n    uVar64 = *(uint *)(local_1f0 + 0x44);\n    uVar52 = (ulong)*(uint *)(local_1f0 + 0x40);\n    shdr.p_ = pSVar54;\n    if (uVar52 < local_1c8) {\n      __a = (allocator<char> *)0x1;\n      local_238 = 0;\n      do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n  }\n  operator_delete(pvVar34);\n  operator_delete(pvVar33);\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<64,_false>::do_layout\n          (Sized_relobj_file<64,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_symbols_data *sd)\n\n{\n  _Rb_tree_header *p_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_layout\n          (Sized_relobj_file<64,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_symbols_data *sd)\n\n{\n  _Rb_tree_header" identifier > : : (function_declarator "do_layout\n          (Sized_relobj_file<64,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_symbols_data *sd)" identifier (parameter_list "(Sized_relobj_file<64,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_symbols_data *sd)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *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 "Read_symbols_data *sd" type_identifier (pointer_declarator "*sd" * identifier)) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "_Base_ptr *pp_Var2;" type_identifier (pointer_declarator "*pp_Var2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "Elf_Word EVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "Plugin_manager *pPVar7;" type_identifier (pointer_declarator "*pPVar7" * identifier) ;) (declaration "Input_file *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "pointer pDVar8;" type_identifier identifier ;) (declaration "Compressed_section_map *pCVar9;" type_identifier (pointer_declarator "*pCVar9" * identifier) ;) (declaration "_Base_ptr p_Var10;" type_identifier identifier ;) (declaration "Garbage_collection *pGVar11;" type_identifier (pointer_declarator "*pGVar11" * identifier) ;) (declaration "_Base_ptr p_Var12;" type_identifier identifier ;) (declaration "pointer ppOVar13;" type_identifier identifier ;) (declaration "pointer puVar14;" type_identifier identifier ;) (declaration "pointer puVar15;" type_identifier identifier ;) (declaration "pointer pDVar16;" type_identifier identifier ;) (declaration "pointer ppOVar17;" type_identifier identifier ;) (declaration "File_view *pFVar18;" type_identifier (pointer_declarator "*pFVar18" * identifier) ;) (declaration "pointer pcVar19;" type_identifier identifier ;) (declaration "pointer pcVar20;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var21;" type_identifier (pointer_declarator "*p_Var21" * identifier) ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "Parameters *pPVar28;" type_identifier (pointer_declarator "*pPVar28" * identifier) ;) (declaration "Shdr SVar29;" type_identifier identifier ;) (declaration "off_t oVar30;" type_identifier identifier ;) (declaration "bool bVar31;" primitive_type identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "void *pvVar33;" primitive_type (pointer_declarator "*pvVar33" * identifier) ;) (declaration "void *pvVar34;" primitive_type (pointer_declarator "*pvVar34" * identifier) ;) (declaration "Read_symbols_data *format;" type_identifier (pointer_declarator "*format" * identifier) ;) (declaration "size_t sVar35;" primitive_type identifier ;) (declaration "ulong *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "iterator iVar37;" type_identifier identifier ;) (declaration "General_options *pGVar38;" type_identifier (pointer_declarator "*pGVar38" * identifier) ;) (declaration "__node_base *p_Var39;" type_identifier (pointer_declarator "*p_Var39" * identifier) ;) (declaration "__node_type *__node;" type_identifier (pointer_declarator "*__node" * identifier) ;) (declaration "ulong uVar40;" type_identifier identifier ;) (declaration "char *pcVar41;" primitive_type (pointer_declarator "*pcVar41" * identifier) ;) (declaration "pointer pDVar42;" type_identifier 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  *paVar43;" 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  *paVar43;" (binary_expression "allocator<char>_>_9\n  *paVar43" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar43" identifier * identifier)) ;)) (declaration "Relocatable_relocs *rr;" type_identifier (pointer_declarator "*rr" * identifier) ;) (declaration "Output_section *pOVar44;" type_identifier (pointer_declarator "*pOVar44" * identifier) ;) (declaration "Relobj *pRVar45;" type_identifier (pointer_declarator "*pRVar45" * identifier) ;) (declaration "char *pcVar46;" primitive_type (pointer_declarator "*pcVar46" * identifier) ;) (declaration "byte bVar47;" type_identifier identifier ;) (declaration "long lVar48;" (sized_type_specifier "long" long) identifier ;) (declaration "_Base_ptr p_Var49;" type_identifier identifier ;) (declaration "_Base_ptr p_Var50;" type_identifier identifier ;) (expression_statement "allocator<char> *extraout_RDX;" (update_expression "allocator<char> *extraout_RDX" (binary_expression "allocator<char> *extraout_RDX" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX" * identifier)) --) ;) (expression_statement "allocator<char> *extraout_RDX_00;" (update_expression "allocator<char> *extraout_RDX_00" (binary_expression "allocator<char> *extraout_RDX_00" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX_00" * identifier)) --) ;) (expression_statement "allocator<char> *__a;" (update_expression "allocator<char> *__a" (binary_expression "allocator<char> *__a" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*__a" * identifier)) --) ;) (expression_statement "allocator<char> *__a_00;" (update_expression "allocator<char> *__a_00" (binary_expression "allocator<char> *__a_00" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*__a_00" * identifier)) --) ;) (expression_statement "allocator<char> *__a_01;" (update_expression "allocator<char> *__a_01" (binary_expression "allocator<char> *__a_01" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*__a_01" * identifier)) --) ;) (expression_statement "allocator<char> *extraout_RDX_01;" (update_expression "allocator<char> *extraout_RDX_01" (binary_expression "allocator<char> *extraout_RDX_01" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX_01" * identifier)) --) ;) (declaration "pointer pDVar51;" type_identifier identifier ;) (expression_statement "allocator<char> *extraout_RDX_02;" (update_expression "allocator<char> *extraout_RDX_02" (binary_expression "allocator<char> *extraout_RDX_02" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX_02" * identifier)) --) ;) (expression_statement "allocator<char> *extraout_RDX_03;" (update_expression "allocator<char> *extraout_RDX_03" (binary_expression "allocator<char> *extraout_RDX_03" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX_03" * identifier)) --) ;) (expression_statement "allocator<char> *extraout_RDX_04;" (update_expression "allocator<char> *extraout_RDX_04" (binary_expression "allocator<char> *extraout_RDX_04" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX_04" * identifier)) --) ;) (expression_statement "allocator<char> *extraout_RDX_05;" (update_expression "allocator<char> *extraout_RDX_05" (binary_expression "allocator<char> *extraout_RDX_05" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*extraout_RDX_05" * identifier)) --) ;) (declaration "ulong uVar52;" type_identifier identifier ;) (declaration "ulong uVar53;" type_identifier identifier ;) (declaration "const_iterator __pos;" type_identifier identifier ;) (expression_statement "Shdr_data<64> *pSVar54;" (update_expression "Shdr_data<64> *pSVar54" (binary_expression "Shdr_data<64> *pSVar54" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*pSVar54" * identifier)) --) ;) (declaration "pointer puVar55;" type_identifier identifier ;) (declaration "uint *puVar56;" type_identifier (pointer_declarator "*puVar56" * identifier) ;) (declaration "uint uVar57;" type_identifier identifier ;) (declaration "byte *pbVar58;" type_identifier (pointer_declarator "*pbVar58" * identifier) ;) (declaration "byte *name;" type_identifier (pointer_declarator "*name" * identifier) ;) (declaration "size_type __n;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<64,_false> *pSVar59;" (update_expression "Sized_relobj_file<64,_false> *pSVar59" (binary_expression "Sized_relobj_file<64,_false> *pSVar59" (binary_expression "Sized_relobj_file<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar59" * identifier)) --) ;) (declaration "size_type __n_00;" type_identifier identifier ;) (declaration "byte *pbVar60;" type_identifier (pointer_declarator "*pbVar60" * identifier) ;) (declaration "Elf_WXword sh_size;" type_identifier identifier ;) (declaration "uint uVar61;" type_identifier identifier ;) (declaration "pointer pDVar62;" type_identifier identifier ;) (declaration "uint uVar63;" type_identifier identifier ;) (declaration "uint uVar64;" type_identifier identifier ;) (declaration "_Base_ptr p_Var65;" type_identifier identifier ;) (declaration "ulong uVar66;" type_identifier identifier ;) (expression_statement "Shdr_data<64> *pSVar67;" (update_expression "Shdr_data<64> *pSVar67" (binary_expression "Shdr_data<64> *pSVar67" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*pSVar67" * identifier)) --) ;) (declaration "bool bVar68;" primitive_type identifier ;) (declaration "bool bVar69;" primitive_type identifier ;) (declaration "bool bVar70;" primitive_type identifier ;) (declaration "byte bVar71;" type_identifier identifier ;) (declaration "Section_id SVar72;" type_identifier identifier ;) (expression_statement "_Bvector_base<std::allocator<bool>_> *local_270;" (update_expression "_Bvector_base<std::allocator<bool>_> *local_270" (binary_expression "_Bvector_base<std::allocator<bool>_> *local_270" (binary_expression "_Bvector_base<std::allocator<bool>_" (binary_expression "_Bvector_base<std::allocator<bool" (binary_expression "_Bvector_base<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) > (pointer_expression "*local_270" * identifier)) --) ;) (declaration "Symbols_data *local_240;" type_identifier (pointer_declarator "*local_240" * identifier) ;) (declaration "uint64_t local_238;" primitive_type identifier ;) (declaration "bool local_230;" primitive_type identifier ;) (declaration "section_size_type local_228;" type_identifier identifier ;) (declaration "Read_symbols_data *local_220;" type_identifier (pointer_declarator "*local_220" * identifier) ;) (declaration "Incremental_inputs *local_210;" type_identifier (pointer_declarator "*local_210" * identifier) ;) (declaration "section_size_type local_200;" type_identifier identifier ;) (declaration "File_view *local_1f8;" type_identifier (pointer_declarator "*local_1f8" * identifier) ;) (declaration "uchar *local_1f0;" type_identifier (pointer_declarator "*local_1f0" * identifier) ;) (declaration "ulong local_1c8;" type_identifier identifier ;) (declaration "Read_symbols_data *local_1c0;" type_identifier (pointer_declarator "*local_1c0" * identifier) ;) (expression_statement "Shdr_data<64> *local_1a0;" (update_expression "Shdr_data<64> *local_1a0" (binary_expression "Shdr_data<64> *local_1a0" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*local_1a0" * identifier)) --) ;) (expression_statement "tuple<> local_18d;" (update_expression "tuple<> local_18d" (binary_expression "tuple<> local_18d" identifier < (ERROR ">" >) identifier) --) ;) (declaration "uint i;" type_identifier identifier ;) (declaration "Shdr shdr;" type_identifier identifier ;) (ERROR "_Head_base<0," (binary_expression "_Head_base<0" identifier < number_literal) ,) (labeled_statement "_const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&,_false>\n  local_180;" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) :) : (expression_statement "allocator<char>_>&,_false>\n  local_180;" (binary_expression "allocator<char>_>&,_false>\n  local_180" (binary_expression "allocator<char>_>&,_false" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "&,_false" & (ERROR "," ,) identifier)) > identifier) ;)) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> reloc_sections;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> reloc_sections;" (binary_expression "allocator<unsigned_int>_> reloc_sections" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;)) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> eh_frame_sections;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> eh_frame_sections;" (binary_expression "allocator<unsigned_int>_> eh_frame_sections" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;)) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> debug_info_sections;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> debug_info_sections;" (binary_expression "allocator<unsigned_int>_> debug_info_sections" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;)) (ERROR "vector<unsigned_int," (binary_expression "vector<unsigned_int" identifier < identifier) ,) (labeled_statement "_std::allocator<unsigned_int>_> debug_types_sections;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<unsigned_int>_> debug_types_sections;" (binary_expression "allocator<unsigned_int>_> debug_types_sections" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;)) (declaration "Shdr shdr_2;" type_identifier identifier ;) (declaration "undefined1 auStack_e8 [16];" type_identifier (array_declarator "auStack_e8 [16]" identifier [ number_literal ]) ;) (ERROR "vector<bool," (binary_expression "vector<bool" identifier < identifier) ,) (labeled_statement "_std::allocator<bool>_> omit;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<bool>_> omit;" (binary_expression "allocator<bool>_> omit" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > identifier) ;)) (declaration "off_t offset;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "undefined1 auStack_98 [20];" type_identifier (array_declarator "auStack_98 [20]" identifier [ number_literal ]) ;) (declaration "undefined8 local_84;" type_identifier identifier ;) (declaration "uchar local_7c [4];" type_identifier (array_declarator "local_7c [4]" identifier [ number_literal ]) ;) (declaration "uint uStack_78;" type_identifier identifier ;) (declaration "Elf_WXword EStack_74;" type_identifier identifier ;) (declaration "Elf_Addr local_6c;" type_identifier identifier ;) (declaration "Elf_Off EStack_64;" type_identifier identifier ;) (declaration "Elf_WXword local_5c;" type_identifier identifier ;) (declaration "undefined8 uStack_54;" type_identifier identifier ;) (declaration "Elf_WXword local_4c;" type_identifier identifier ;) (declaration "Elf_WXword EStack_44;" type_identifier identifier ;) (expression_statement "bVar71 = 0;" (assignment_expression "bVar71 = 0" identifier = number_literal) ;) (if_statement "if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "pGVar38 = parameters->options_;" (assignment_expression "pGVar38 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (expression_statement "uVar57 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_;" (assignment_expression "uVar57 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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 "uVar4 = *(uint *)(*(long *)(parameters->target_ + 8) + 0x7c);" (assignment_expression "uVar4 = *(uint *)(*(long *)(parameters->target_ + 8) + 0x7c)" identifier = (pointer_expression "*(uint *)(*(long *)(parameters->target_ + 8) + 0x7c)" * (cast_expression "(uint *)(*(long *)(parameters->target_ + 8) + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(parameters->target_ + 8) + 0x7c)" ( (binary_expression "*(long *)(parameters->target_ + 8) + 0x7c" (pointer_expression "*(long *)(parameters->target_ + 8)" * (cast_expression "(long *)(parameters->target_ + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(parameters->target_ + 8)" ( (binary_expression "parameters->target_ + 8" (field_expression "parameters->target_" identifier -> field_identifier) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (pGVar38 == (General_options *)0x0) goto LAB_001db857;" if (parenthesized_expression "(pGVar38 == (General_options *)0x0)" ( (binary_expression "pGVar38 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001db857;" goto statement_identifier ;)) (if_statement "if ((pGVar38->gc_sections_).value == false) {\n    if (pGVar38->icf_status_ == ICF_NONE) {\n      if (layout->unique_segment_for_sections_specified_ == false) {\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n    if (local_240 != (Symbols_data *)0x0) {\n      if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }\n      bVar25 = true;\n      bVar26 = true;\n      local_1f0 = local_240->section_headers_data;\n      local_1f8 = (File_view *)local_240->symbols_data;\n      bVar27 = false;\n      local_200 = local_240->symbols_size;\n      local_1c8 = local_240->section_names_size;\n      local_228 = local_240->symbol_names_size;\n      local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n      local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n      format = local_220;\n      goto LAB_001da266;\n    }\n  }" if (parenthesized_expression "((pGVar38->gc_sections_).value == false)" ( (binary_expression "(pGVar38->gc_sections_).value == false" (field_expression "(pGVar38->gc_sections_).value" (parenthesized_expression "(pGVar38->gc_sections_)" ( (field_expression "pGVar38->gc_sections_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    if (pGVar38->icf_status_ == ICF_NONE) {\n      if (layout->unique_segment_for_sections_specified_ == false) {\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;\n    }\n  }" { (if_statement "if (pGVar38->icf_status_ == ICF_NONE) {\n      if (layout->unique_segment_for_sections_specified_ == false) {\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;\n    }" if (parenthesized_expression "(pGVar38->icf_status_ == ICF_NONE)" ( (binary_expression "pGVar38->icf_status_ == ICF_NONE" (field_expression "pGVar38->icf_status_" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      if (layout->unique_segment_for_sections_specified_ == false) {\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;\n    }" { (if_statement "if (layout->unique_segment_for_sections_specified_ == false) {\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }" if (parenthesized_expression "(layout->unique_segment_for_sections_specified_ == false)" ( (binary_expression "layout->unique_segment_for_sections_specified_ == false" (field_expression "layout->unique_segment_for_sections_specified_" identifier -> field_identifier) == false) )) (compound_statement "{\n        if (uVar57 == 0) {\n          return;\n        }\n        local_1c8 = sd->section_names_size;\n        local_1f0 = sd->section_headers->data_;\n        local_1f8 = sd->symbols;\n        if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }\n        local_200 = sd->symbols_size;\n        local_220 = (Read_symbols_data *)sd->symbol_names;\n        if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }\n        bVar25 = false;\n        bVar26 = false;\n        local_228 = sd->symbol_names_size;\n        local_240 = (Symbols_data *)0x0;\n        local_1c0 = (Read_symbols_data *)sd->section_names->data_;\n        bVar27 = false;\n        format = sd;\n        goto LAB_001da266;\n      }" { (if_statement "if (uVar57 == 0) {\n          return;\n        }" if (parenthesized_expression "(uVar57 == 0)" ( (binary_expression "uVar57 == 0" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "local_1c8 = sd->section_names_size;" (assignment_expression "local_1c8 = sd->section_names_size" identifier = (field_expression "sd->section_names_size" identifier -> field_identifier)) ;) (expression_statement "local_1f0 = sd->section_headers->data_;" (assignment_expression "local_1f0 = sd->section_headers->data_" identifier = (field_expression "sd->section_headers->data_" (field_expression "sd->section_headers" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "local_1f8 = sd->symbols;" (assignment_expression "local_1f8 = sd->symbols" identifier = (field_expression "sd->symbols" identifier -> field_identifier)) ;) (if_statement "if (local_1f8 != (File_view *)0x0) {\n          local_1f8 = (File_view *)local_1f8->data_;\n        }" if (parenthesized_expression "(local_1f8 != (File_view *)0x0)" ( (binary_expression "local_1f8 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_1f8 = (File_view *)local_1f8->data_;\n        }" { (expression_statement "local_1f8 = (File_view *)local_1f8->data_;" (assignment_expression "local_1f8 = (File_view *)local_1f8->data_" identifier = (cast_expression "(File_view *)local_1f8->data_" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_1f8->data_" identifier -> field_identifier))) ;) })) (expression_statement "local_200 = sd->symbols_size;" (assignment_expression "local_200 = sd->symbols_size" identifier = (field_expression "sd->symbols_size" identifier -> field_identifier)) ;) (expression_statement "local_220 = (Read_symbols_data *)sd->symbol_names;" (assignment_expression "local_220 = (Read_symbols_data *)sd->symbol_names" identifier = (cast_expression "(Read_symbols_data *)sd->symbol_names" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sd->symbol_names" identifier -> field_identifier))) ;) (if_statement "if (local_220 != (Read_symbols_data *)0x0) {\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }" if (parenthesized_expression "(local_220 != (Read_symbols_data *)0x0)" ( (binary_expression "local_220 != (Read_symbols_data *)0x0" identifier != (cast_expression "(Read_symbols_data *)0x0" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_220 = (Read_symbols_data *)local_220->section_names_size;\n        }" { (expression_statement "local_220 = (Read_symbols_data *)local_220->section_names_size;" (assignment_expression "local_220 = (Read_symbols_data *)local_220->section_names_size" identifier = (cast_expression "(Read_symbols_data *)local_220->section_names_size" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_220->section_names_size" identifier -> field_identifier))) ;) })) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "local_228 = sd->symbol_names_size;" (assignment_expression "local_228 = sd->symbol_names_size" identifier = (field_expression "sd->symbol_names_size" identifier -> field_identifier)) ;) (expression_statement "local_240 = (Symbols_data *)0x0;" (assignment_expression "local_240 = (Symbols_data *)0x0" identifier = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1c0 = (Read_symbols_data *)sd->section_names->data_;" (assignment_expression "local_1c0 = (Read_symbols_data *)sd->section_names->data_" identifier = (cast_expression "(Read_symbols_data *)sd->section_names->data_" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sd->section_names->data_" (field_expression "sd->section_names" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "format = sd;" (assignment_expression "format = sd" identifier = identifier) ;) (goto_statement "goto LAB_001da266;" goto statement_identifier ;) })) (expression_statement "local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;" (assignment_expression "local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (local_240 != (Symbols_data *)0x0) goto LAB_001da1f0;" if (parenthesized_expression "(local_240 != (Symbols_data *)0x0)" ( (binary_expression "local_240 != (Symbols_data *)0x0" identifier != (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001da1f0;" goto statement_identifier ;)) }) (else_clause "else {\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;\n    }" else (compound_statement "{\n      local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n      if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;\n    }" { (expression_statement "local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;" (assignment_expression "local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (local_240 != (Symbols_data *)0x0) goto LAB_001db71f;" if (parenthesized_expression "(local_240 != (Symbols_data *)0x0)" ( (binary_expression "local_240 != (Symbols_data *)0x0" identifier != (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001db71f;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n    if (local_240 != (Symbols_data *)0x0) {\n      if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }\n      bVar25 = true;\n      bVar26 = true;\n      local_1f0 = local_240->section_headers_data;\n      local_1f8 = (File_view *)local_240->symbols_data;\n      bVar27 = false;\n      local_200 = local_240->symbols_size;\n      local_1c8 = local_240->section_names_size;\n      local_228 = local_240->symbol_names_size;\n      local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n      local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n      format = local_220;\n      goto LAB_001da266;\n    }\n  }" else (compound_statement "{\n    local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;\n    if (local_240 != (Symbols_data *)0x0) {\n      if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }\n      bVar25 = true;\n      bVar26 = true;\n      local_1f0 = local_240->section_headers_data;\n      local_1f8 = (File_view *)local_240->symbols_data;\n      bVar27 = false;\n      local_200 = local_240->symbols_size;\n      local_1c8 = local_240->section_names_size;\n      local_228 = local_240->symbol_names_size;\n      local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n      local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n      format = local_220;\n      goto LAB_001da266;\n    }\n  }" { (expression_statement "local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_;" (assignment_expression "local_240 = (this->super_Sized_relobj<64,_false>).super_Relobj.sd_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (local_240 != (Symbols_data *)0x0) {\n      if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }\n      bVar25 = true;\n      bVar26 = true;\n      local_1f0 = local_240->section_headers_data;\n      local_1f8 = (File_view *)local_240->symbols_data;\n      bVar27 = false;\n      local_200 = local_240->symbols_size;\n      local_1c8 = local_240->section_names_size;\n      local_228 = local_240->symbol_names_size;\n      local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n      local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n      format = local_220;\n      goto LAB_001da266;\n    }" if (parenthesized_expression "(local_240 != (Symbols_data *)0x0)" ( (binary_expression "local_240 != (Symbols_data *)0x0" identifier != (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }\n      bVar25 = true;\n      bVar26 = true;\n      local_1f0 = local_240->section_headers_data;\n      local_1f8 = (File_view *)local_240->symbols_data;\n      bVar27 = false;\n      local_200 = local_240->symbols_size;\n      local_1c8 = local_240->section_names_size;\n      local_228 = local_240->symbol_names_size;\n      local_220 = (Read_symbols_data *)local_240->symbol_names_data;\n      local_1c0 = (Read_symbols_data *)local_240->section_names_data;\n      format = local_220;\n      goto LAB_001da266;\n    }" { (if_statement "if (symtab->gc_->is_worklist_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }" if (parenthesized_expression "(symtab->gc_->is_worklist_ready_ == false)" ( (binary_expression "symtab->gc_->is_worklist_ready_ == false" (field_expression "symtab->gc_->is_worklist_ready_" (field_expression "symtab->gc_" identifier -> field_identifier) -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x59d,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x59d,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (if_statement "if (pGVar38->icf_status_ != ICF_NONE) {\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" if (parenthesized_expression "(pGVar38->icf_status_ != ICF_NONE)" ( (binary_expression "pGVar38->icf_status_ != ICF_NONE" (field_expression "pGVar38->icf_status_" identifier -> field_identifier) != identifier) )) (compound_statement "{\nLAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" { (labeled_statement "LAB_001db71f:\n        if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }" statement_identifier : (if_statement "if (symtab->icf_->icf_ready_ == false) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }" if (parenthesized_expression "(symtab->icf_->icf_ready_ == false)" ( (binary_expression "symtab->icf_->icf_ready_ == false" (field_expression "symtab->icf_->icf_ready_" (field_expression "symtab->icf_" identifier -> field_identifier) -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x59f,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x59f,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) }))) })) (labeled_statement "LAB_001da1f0:\n      if (uVar57 == 0) {\n        return;\n      }" statement_identifier : (if_statement "if (uVar57 == 0) {\n        return;\n      }" if (parenthesized_expression "(uVar57 == 0)" ( (binary_expression "uVar57 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) }))) (expression_statement "bVar25 = true;" (assignment_expression "bVar25 = true" identifier = true) ;) (expression_statement "bVar26 = true;" (assignment_expression "bVar26 = true" identifier = true) ;) (expression_statement "local_1f0 = local_240->section_headers_data;" (assignment_expression "local_1f0 = local_240->section_headers_data" identifier = (field_expression "local_240->section_headers_data" identifier -> field_identifier)) ;) (expression_statement "local_1f8 = (File_view *)local_240->symbols_data;" (assignment_expression "local_1f8 = (File_view *)local_240->symbols_data" identifier = (cast_expression "(File_view *)local_240->symbols_data" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_240->symbols_data" identifier -> field_identifier))) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "local_200 = local_240->symbols_size;" (assignment_expression "local_200 = local_240->symbols_size" identifier = (field_expression "local_240->symbols_size" identifier -> field_identifier)) ;) (expression_statement "local_1c8 = local_240->section_names_size;" (assignment_expression "local_1c8 = local_240->section_names_size" identifier = (field_expression "local_240->section_names_size" identifier -> field_identifier)) ;) (expression_statement "local_228 = local_240->symbol_names_size;" (assignment_expression "local_228 = local_240->symbol_names_size" identifier = (field_expression "local_240->symbol_names_size" identifier -> field_identifier)) ;) (expression_statement "local_220 = (Read_symbols_data *)local_240->symbol_names_data;" (assignment_expression "local_220 = (Read_symbols_data *)local_240->symbol_names_data" identifier = (cast_expression "(Read_symbols_data *)local_240->symbol_names_data" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_240->symbol_names_data" identifier -> field_identifier))) ;) (expression_statement "local_1c0 = (Read_symbols_data *)local_240->section_names_data;" (assignment_expression "local_1c0 = (Read_symbols_data *)local_240->section_names_data" identifier = (cast_expression "(Read_symbols_data *)local_240->section_names_data" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_240->section_names_data" identifier -> field_identifier))) ;) (expression_statement "format = local_220;" (assignment_expression "format = local_220" identifier = identifier) ;) (goto_statement "goto LAB_001da266;" goto statement_identifier ;) })) }))) (if_statement "if (sd == (Read_symbols_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0x597,"do_layout");\n  }" if (parenthesized_expression "(sd == (Read_symbols_data *)0x0)" ( (binary_expression "sd == (Read_symbols_data *)0x0" identifier == (cast_expression "(Read_symbols_data *)0x0" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/object.cc",0x597,"do_layout");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x597,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x597,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x597,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (if_statement "if (uVar57 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar57 == 0)" ( (binary_expression "uVar57 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_240 = (Symbols_data *)operator_new(0x40);" (assignment_expression "local_240 = (Symbols_data *)operator_new(0x40)" identifier = (cast_expression "(Symbols_data *)operator_new(0x40)" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (labeled_statement "Relobj::copy_symbols_data((Relobj *)this,local_240,sd,uVar57 << 6);" statement_identifier : (ERROR ":" :) (expression_statement "copy_symbols_data((Relobj *)this,local_240,sd,uVar57 << 6);" (call_expression "copy_symbols_data((Relobj *)this,local_240,sd,uVar57 << 6)" identifier (argument_list "((Relobj *)this,local_240,sd,uVar57 << 6)" ( (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (binary_expression "uVar57 << 6" identifier << number_literal) ))) ;)) (expression_statement "local_1f0 = local_240->section_headers_data;" (assignment_expression "local_1f0 = local_240->section_headers_data" identifier = (field_expression "local_240->section_headers_data" identifier -> field_identifier)) ;) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = local_240;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = local_240" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_1f8 = (File_view *)local_240->symbols_data;" (assignment_expression "local_1f8 = (File_view *)local_240->symbols_data" identifier = (cast_expression "(File_view *)local_240->symbols_data" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_240->symbols_data" identifier -> field_identifier))) ;) (expression_statement "local_1c8 = local_240->section_names_size;" (assignment_expression "local_1c8 = local_240->section_names_size" identifier = (field_expression "local_240->section_names_size" identifier -> field_identifier)) ;) (expression_statement "local_200 = local_240->symbols_size;" (assignment_expression "local_200 = local_240->symbols_size" identifier = (field_expression "local_240->symbols_size" identifier -> field_identifier)) ;) (expression_statement "local_220 = (Read_symbols_data *)local_240->symbol_names_data;" (assignment_expression "local_220 = (Read_symbols_data *)local_240->symbol_names_data" identifier = (cast_expression "(Read_symbols_data *)local_240->symbol_names_data" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_240->symbol_names_data" identifier -> field_identifier))) ;) (expression_statement "pGVar38 = parameters->options_;" (assignment_expression "pGVar38 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (expression_statement "local_228 = local_240->symbol_names_size;" (assignment_expression "local_228 = local_240->symbol_names_size" identifier = (field_expression "local_240->symbol_names_size" identifier -> field_identifier)) ;) (expression_statement "local_1c0 = (Read_symbols_data *)local_240->section_names_data;" (assignment_expression "local_1c0 = (Read_symbols_data *)local_240->section_names_data" identifier = (cast_expression "(Read_symbols_data *)local_240->section_names_data" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_240->section_names_data" identifier -> field_identifier))) ;) (if_statement "if (pGVar38 == (General_options *)0x0) {\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(pGVar38 == (General_options *)0x0)" ( (binary_expression "pGVar38 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { (labeled_statement "LAB_001db857:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : 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 "bVar25 = true;" (assignment_expression "bVar25 = true" identifier = true) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) (expression_statement "format = local_1c0;" (assignment_expression "format = local_1c0" identifier = identifier) ;) (labeled_statement "LAB_001da266:\n  pPVar7 = pGVar38->plugins_;" statement_identifier : (expression_statement "pPVar7 = pGVar38->plugins_;" (assignment_expression "pPVar7 = pGVar38->plugins_" identifier = (field_expression "pGVar38->plugins_" identifier -> field_identifier)) ;)) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (if_statement "if ((pPVar7 != (Plugin_manager *)0x0) && (bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false)) {\n    bVar47 = pPVar7->in_replacement_phase_ ^ 1;\n  }" if (parenthesized_expression "((pPVar7 != (Plugin_manager *)0x0) && (bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false))" ( (binary_expression "(pPVar7 != (Plugin_manager *)0x0) && (bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false)" (parenthesized_expression "(pPVar7 != (Plugin_manager *)0x0)" ( (binary_expression "pPVar7 != (Plugin_manager *)0x0" identifier != (cast_expression "(Plugin_manager *)0x0" ( (type_descriptor "Plugin_manager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false)" ( (comma_expression "bVar47 = pPVar7->any_claimed_, (bool)bVar47 != false" (assignment_expression "bVar47 = pPVar7->any_claimed_" identifier = (field_expression "pPVar7->any_claimed_" identifier -> field_identifier)) , (binary_expression "(bool)bVar47 != false" (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier) != false)) ))) )) (compound_statement "{\n    bVar47 = pPVar7->in_replacement_phase_ ^ 1;\n  }" { (expression_statement "bVar47 = pPVar7->in_replacement_phase_ ^ 1;" (assignment_expression "bVar47 = pPVar7->in_replacement_phase_ ^ 1" identifier = (binary_expression "pPVar7->in_replacement_phase_ ^ 1" (field_expression "pPVar7->in_replacement_phase_" identifier -> field_identifier) ^ number_literal)) ;) })) (expression_statement "uVar66 = (ulong)uVar57;" (assignment_expression "uVar66 = (ulong)uVar57" identifier = (cast_expression "(ulong)uVar57" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pvVar33 = operator_new(uVar66 * 4);" (assignment_expression "pvVar33 = operator_new(uVar66 * 4)" identifier = (call_expression "operator_new(uVar66 * 4)" identifier (argument_list "(uVar66 * 4)" ( (binary_expression "uVar66 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar52 = 0;" (assignment_expression "uVar52 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar53 = uVar52;\n    uVar52 = uVar53 + 1;\n    *(undefined4 *)((long)pvVar33 + uVar53 * 4) = 0;\n  } while (uVar66 != uVar52);" do (compound_statement "{\n    uVar53 = uVar52;\n    uVar52 = uVar53 + 1;\n    *(undefined4 *)((long)pvVar33 + uVar53 * 4) = 0;\n  }" { (expression_statement "uVar53 = uVar52;" (assignment_expression "uVar53 = uVar52" identifier = identifier) ;) (expression_statement "uVar52 = uVar53 + 1;" (assignment_expression "uVar52 = uVar53 + 1" identifier = (binary_expression "uVar53 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((long)pvVar33 + uVar53 * 4) = 0;" (assignment_expression "*(undefined4 *)((long)pvVar33 + uVar53 * 4) = 0" (pointer_expression "*(undefined4 *)((long)pvVar33 + uVar53 * 4)" * (cast_expression "(undefined4 *)((long)pvVar33 + uVar53 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + uVar53 * 4)" ( (binary_expression "(long)pvVar33 + uVar53 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar53 * 4" identifier * number_literal)) )))) = number_literal) ;) }) while (parenthesized_expression "(uVar66 != uVar52)" ( (binary_expression "uVar66 != uVar52" identifier != identifier) )) ;) comment (expression_statement "pvVar34 = operator_new(uVar66 * 4);" (assignment_expression "pvVar34 = operator_new(uVar66 * 4)" identifier = (call_expression "operator_new(uVar66 * 4)" identifier (argument_list "(uVar66 * 4)" ( (binary_expression "uVar66 * 4" identifier * number_literal) )))) ;) (expression_statement "iVar32 = (int)format;" (assignment_expression "iVar32 = (int)format" identifier = (cast_expression "(int)format" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((long)pvVar34 + uVar40 * 4) = 0;\n    bVar69 = uVar53 != uVar40;\n    uVar40 = uVar40 + 1;\n  } while (bVar69);" do (compound_statement "{\n    *(undefined4 *)((long)pvVar34 + uVar40 * 4) = 0;\n    bVar69 = uVar53 != uVar40;\n    uVar40 = uVar40 + 1;\n  }" { (expression_statement "*(undefined4 *)((long)pvVar34 + uVar40 * 4) = 0;" (assignment_expression "*(undefined4 *)((long)pvVar34 + uVar40 * 4) = 0" (pointer_expression "*(undefined4 *)((long)pvVar34 + uVar40 * 4)" * (cast_expression "(undefined4 *)((long)pvVar34 + uVar40 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + uVar40 * 4)" ( (binary_expression "(long)pvVar34 + uVar40 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar40 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "bVar69 = uVar53 != uVar40;" (assignment_expression "bVar69 = uVar53 != uVar40" identifier = (binary_expression "uVar53 != uVar40" identifier != identifier)) ;) (expression_statement "uVar40 = uVar40 + 1;" (assignment_expression "uVar40 = uVar40 + 1" identifier = (binary_expression "uVar40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar69)" ( identifier )) ;) (expression_statement "pSVar54 = (Shdr_data<64> *)(local_1f0 + 0x40);" (assignment_expression "pSVar54 = (Shdr_data<64> *)(local_1f0 + 0x40)" identifier = (call_expression "(Shdr_data<64> *)(local_1f0 + 0x40)" (parenthesized_expression "(Shdr_data<64> *)" ( (binary_expression "Shdr_data<64> *" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(local_1f0 + 0x40)" ( (binary_expression "local_1f0 + 0x40" identifier + number_literal) )))) ;) (if_statement "if (uVar57 < 2) {\n    uVar64 = 0;\n  }\n  else {\n    uVar63 = 1;\n    uVar64 = 0;\n    local_1a0 = pSVar54;\n    do {\n      if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }\n      EVar5 = local_1a0->sh_type;\n      if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }\n      iVar32 = (int)format;\n      uVar63 = uVar63 + 1;\n      local_1a0 = local_1a0 + 1;\n    } while (uVar63 != uVar57);\n  }" if (parenthesized_expression "(uVar57 < 2)" ( (binary_expression "uVar57 < 2" identifier < number_literal) )) (compound_statement "{\n    uVar64 = 0;\n  }" { (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar63 = 1;\n    uVar64 = 0;\n    local_1a0 = pSVar54;\n    do {\n      if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }\n      EVar5 = local_1a0->sh_type;\n      if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }\n      iVar32 = (int)format;\n      uVar63 = uVar63 + 1;\n      local_1a0 = local_1a0 + 1;\n    } while (uVar63 != uVar57);\n  }" else (compound_statement "{\n    uVar63 = 1;\n    uVar64 = 0;\n    local_1a0 = pSVar54;\n    do {\n      if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }\n      EVar5 = local_1a0->sh_type;\n      if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }\n      iVar32 = (int)format;\n      uVar63 = uVar63 + 1;\n      local_1a0 = local_1a0 + 1;\n    } while (uVar63 != uVar57);\n  }" { (expression_statement "uVar63 = 1;" (assignment_expression "uVar63 = 1" identifier = number_literal) ;) (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) (expression_statement "local_1a0 = pSVar54;" (assignment_expression "local_1a0 = pSVar54" identifier = identifier) ;) (do_statement "do {\n      if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }\n      EVar5 = local_1a0->sh_type;\n      if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }\n      iVar32 = (int)format;\n      uVar63 = uVar63 + 1;\n      local_1a0 = local_1a0 + 1;\n    } while (uVar63 != uVar57);" do (compound_statement "{\n      if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }\n      EVar5 = local_1a0->sh_type;\n      if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }\n      iVar32 = (int)format;\n      uVar63 = uVar63 + 1;\n      local_1a0 = local_1a0 + 1;\n    }" { (if_statement "if (bVar47 != 0) {\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }" if (parenthesized_expression "(bVar47 != 0)" ( (binary_expression "bVar47 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);\n      }" { (expression_statement "uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0);" (assignment_expression "uVar64 = (uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0)" identifier = (binary_expression "(uVar64 + 1) - (uint)((local_1a0->sh_flags & 2) == 0)" (parenthesized_expression "(uVar64 + 1)" ( (binary_expression "uVar64 + 1" identifier + number_literal) )) - (call_expression "(uint)((local_1a0->sh_flags & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_1a0->sh_flags & 2) == 0)" ( (binary_expression "(local_1a0->sh_flags & 2) == 0" (parenthesized_expression "(local_1a0->sh_flags & 2)" ( (binary_expression "local_1a0->sh_flags & 2" (field_expression "local_1a0->sh_flags" identifier -> field_identifier) & number_literal) )) == number_literal) ))))) ;) })) (expression_statement "EVar5 = local_1a0->sh_type;" (assignment_expression "EVar5 = local_1a0->sh_type" identifier = (field_expression "local_1a0->sh_type" identifier -> field_identifier)) ;) (if_statement "if ((EVar5 == 9) || (EVar5 == 4)) {\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }" if (parenthesized_expression "((EVar5 == 9) || (EVar5 == 4))" ( (binary_expression "(EVar5 == 9) || (EVar5 == 4)" (parenthesized_expression "(EVar5 == 9)" ( (binary_expression "EVar5 == 9" identifier == number_literal) )) || (parenthesized_expression "(EVar5 == 4)" ( (binary_expression "EVar5 == 4" identifier == number_literal) ))) )) (compound_statement "{\n        uVar61 = local_1a0->sh_info;\n        if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }\n        uVar40 = (ulong)uVar61;\n        if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }\n      }" { (expression_statement "uVar61 = local_1a0->sh_info;" (assignment_expression "uVar61 = local_1a0->sh_info" identifier = (field_expression "local_1a0->sh_info" identifier -> field_identifier)) ;) (if_statement "if (0xfeff < uVar61) {\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }" if (parenthesized_expression "(0xfeff < uVar61)" ( (binary_expression "0xfeff < uVar61" number_literal < identifier) )) (compound_statement "{\n                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */\n          elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n          uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;\n        }" { comment (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Object>:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_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 "uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar61 = uVar61 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar61 + (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 "uVar40 = (ulong)uVar61;" (assignment_expression "uVar40 = (ulong)uVar61" identifier = (cast_expression "(ulong)uVar61" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((uVar61 == 0) || (uVar57 <= uVar61)) {\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }\n        else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }" if (parenthesized_expression "((uVar61 == 0) || (uVar57 <= uVar61))" ( (binary_expression "(uVar61 == 0) || (uVar57 <= uVar61)" (parenthesized_expression "(uVar61 == 0)" ( (binary_expression "uVar61 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar57 <= uVar61)" ( (binary_expression "uVar57 <= uVar61" identifier <= identifier) ))) )) (compound_statement "{\n          format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");\n          Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);\n        }" { (expression_statement "format = (Read_symbols_data *)gettext("relocation section %u has bad info %u");" (assignment_expression "format = (Read_symbols_data *)gettext("relocation section %u has bad info %u")" identifier = (cast_expression "(Read_symbols_data *)gettext("relocation section %u has bad info %u")" ( (type_descriptor "Read_symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("relocation section %u has bad info %u")" identifier (argument_list "("relocation section %u has bad info %u")" ( (string_literal ""relocation section %u has bad info %u"" " string_content ") ))))) ;) (labeled_statement "Object::error((Object *)this,(char *)format,(ulong)uVar63,uVar40);" statement_identifier : (ERROR ":" :) (expression_statement "error((Object *)this,(char *)format,(ulong)uVar63,uVar40);" (call_expression "error((Object *)this,(char *)format,(ulong)uVar63,uVar40)" identifier (argument_list "((Object *)this,(char *)format,(ulong)uVar63,uVar40)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)format" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ulong)uVar63" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier ))) ;)) }) (else_clause "else {\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }" else (compound_statement "{\n          puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);\n          if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }\n        }" { (expression_statement "puVar56 = (uint *)((long)pvVar33 + uVar40 * 4);" (assignment_expression "puVar56 = (uint *)((long)pvVar33 + uVar40 * 4)" identifier = (cast_expression "(uint *)((long)pvVar33 + uVar40 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + uVar40 * 4)" ( (binary_expression "(long)pvVar33 + uVar40 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar40 * 4" identifier * number_literal)) )))) ;) (if_statement "if (*puVar56 == 0) {\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }\n          else {\n            *puVar56 = 0xffffffff;\n          }" if (parenthesized_expression "(*puVar56 == 0)" ( (binary_expression "*puVar56 == 0" (pointer_expression "*puVar56" * identifier) == number_literal) )) (compound_statement "{\n            *puVar56 = uVar63;\n            *(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;\n          }" { (expression_statement "*puVar56 = uVar63;" (assignment_expression "*puVar56 = uVar63" (pointer_expression "*puVar56" * identifier) = identifier) ;) (expression_statement "*(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5;" (assignment_expression "*(Elf_Word *)((long)pvVar34 + uVar40 * 4) = EVar5" (pointer_expression "*(Elf_Word *)((long)pvVar34 + uVar40 * 4)" * (cast_expression "(Elf_Word *)((long)pvVar34 + uVar40 * 4)" ( (type_descriptor "Elf_Word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + uVar40 * 4)" ( (binary_expression "(long)pvVar34 + uVar40 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar40 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n            *puVar56 = 0xffffffff;\n          }" else (compound_statement "{\n            *puVar56 = 0xffffffff;\n          }" { (expression_statement "*puVar56 = 0xffffffff;" (assignment_expression "*puVar56 = 0xffffffff" (pointer_expression "*puVar56" * identifier) = number_literal) ;) }))) }))) })) (expression_statement "iVar32 = (int)format;" (assignment_expression "iVar32 = (int)format" identifier = (cast_expression "(int)format" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar63 = uVar63 + 1;" (assignment_expression "uVar63 = uVar63 + 1" identifier = (binary_expression "uVar63 + 1" identifier + number_literal)) ;) (expression_statement "local_1a0 = local_1a0 + 1;" (assignment_expression "local_1a0 = local_1a0 + 1" identifier = (binary_expression "local_1a0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar63 != uVar57)" ( (binary_expression "uVar63 != uVar57" identifier != identifier) )) ;) }))) (if_statement "if (!bVar26) {\n    ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_start;\n    uVar40 = (long)ppOVar13 - (long)ppOVar17 >> 3;\n    if (uVar40 < uVar52) {\n      __n = uVar52 - uVar40;\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);\n      iVar32 = (int)__n;\n    }\n    else if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }\n    puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_finish;\n    puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start;\n    uVar40 = (long)puVar14 - (long)puVar15 >> 3;\n    if (uVar40 < uVar52) {\n      __n_00 = uVar52 - uVar40;\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);\n      iVar32 = (int)__n_00;\n    }\n    else if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }\n  }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n    ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_start;\n    uVar40 = (long)ppOVar13 - (long)ppOVar17 >> 3;\n    if (uVar40 < uVar52) {\n      __n = uVar52 - uVar40;\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);\n      iVar32 = (int)__n;\n    }\n    else if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }\n    puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_finish;\n    puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start;\n    uVar40 = (long)puVar14 - (long)puVar15 >> 3;\n    if (uVar40 < uVar52) {\n      __n_00 = uVar52 - uVar40;\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);\n      iVar32 = (int)__n_00;\n    }\n    else if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }\n  }" { (expression_statement "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;" (field_expression "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish" (field_expression "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl" (binary_expression "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar13 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_start;" (field_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_start" (field_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl" (binary_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n               super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar40 = (long)ppOVar13 - (long)ppOVar17 >> 3;" (assignment_expression "uVar40 = (long)ppOVar13 - (long)ppOVar17 >> 3" identifier = (binary_expression "(long)ppOVar13 - (long)ppOVar17 >> 3" (binary_expression "(long)ppOVar13 - (long)ppOVar17" (cast_expression "(long)ppOVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)ppOVar17" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar40 < uVar52) {\n      __n = uVar52 - uVar40;\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);\n      iVar32 = (int)__n;\n    }\n    else if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }" if (parenthesized_expression "(uVar40 < uVar52)" ( (binary_expression "uVar40 < uVar52" identifier < identifier) )) (compound_statement "{\n      __n = uVar52 - uVar40;\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);\n      iVar32 = (int)__n;\n    }" { (expression_statement "__n = uVar52 - uVar40;" (assignment_expression "__n = uVar52 - uVar40" identifier = (binary_expression "uVar52 - uVar40" identifier - identifier)) ;) (ERROR "std::vector<gold::Output_section*,_std::allocator<gold::" (comma_expression "std::vector<gold::Output_section*,_std" identifier (ERROR "::vector<gold::Output_section*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n);" (binary_expression "Output_section*>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n)" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) (call_expression "_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n)" identifier (argument_list "(&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_,__n)" ( (pointer_expression "&(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" & (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) , identifier )))) ;) (expression_statement "iVar32 = (int)__n;" (assignment_expression "iVar32 = (int)__n" identifier = (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }" else (if_statement "if ((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)) {\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }" if (parenthesized_expression "((uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17))" ( (binary_expression "(uVar52 < uVar40) && (ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)" (parenthesized_expression "(uVar52 < uVar40)" ( (binary_expression "uVar52 < uVar40" identifier < identifier) )) && (parenthesized_expression "(ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17)" ( (comma_expression "ppOVar17 = ppOVar17 + uVar52, ppOVar13 != ppOVar17" (assignment_expression "ppOVar17 = ppOVar17 + uVar52" identifier = (binary_expression "ppOVar17 + uVar52" identifier + identifier)) , (binary_expression "ppOVar13 != ppOVar17" identifier != identifier)) ))) )) (compound_statement "{\n      (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;\n    }" { (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar17" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n      super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) })))) (ERROR "puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::" (comma_expression "puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std" (assignment_expression "puVar14 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n              _M_finish;" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_finish" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::" (comma_expression "puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std" (assignment_expression "puVar15 = (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n              _M_start;" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar40 = (long)puVar14 - (long)puVar15 >> 3;" (assignment_expression "uVar40 = (long)puVar14 - (long)puVar15 >> 3" identifier = (binary_expression "(long)puVar14 - (long)puVar15 >> 3" (binary_expression "(long)puVar14 - (long)puVar15" (cast_expression "(long)puVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar40 < uVar52) {\n      __n_00 = uVar52 - uVar40;\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);\n      iVar32 = (int)__n_00;\n    }\n    else if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }" if (parenthesized_expression "(uVar40 < uVar52)" ( (binary_expression "uVar40 < uVar52" identifier < identifier) )) (compound_statement "{\n      __n_00 = uVar52 - uVar40;\n                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */\n      std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);\n      iVar32 = (int)__n_00;\n    }" { (expression_statement "__n_00 = uVar52 - uVar40;" (assignment_expression "__n_00 = uVar52 - uVar40" identifier = (binary_expression "uVar52 - uVar40" identifier - identifier)) ;) comment (labeled_statement "std::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>::_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);" statement_identifier (ERROR "::vector<long_unsigned_int,_std::allocator<long_unsigned_int>_>:" : : (comma_expression "vector<long_unsigned_int,_std" (binary_expression "vector<long_unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) > :) : (expression_statement "_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00);" (call_expression "_M_default_append\n                (&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00)" identifier (argument_list "(&(this->super_Sized_relobj<64,_false>).section_offsets_,__n_00)" ( (pointer_expression "&(this->super_Sized_relobj<64,_false>).section_offsets_" & (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) , identifier ))) ;)) (expression_statement "iVar32 = (int)__n_00;" (assignment_expression "iVar32 = (int)__n_00" identifier = (cast_expression "(int)__n_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }" else (if_statement "if ((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)) {\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }" if (parenthesized_expression "((uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15))" ( (binary_expression "(uVar52 < uVar40) && (puVar15 = puVar15 + uVar52, puVar14 != puVar15)" (parenthesized_expression "(uVar52 < uVar40)" ( (binary_expression "uVar52 < uVar40" identifier < identifier) )) && (parenthesized_expression "(puVar15 = puVar15 + uVar52, puVar14 != puVar15)" ( (comma_expression "puVar15 = puVar15 + uVar52, puVar14 != puVar15" (assignment_expression "puVar15 = puVar15 + uVar52" identifier = (binary_expression "puVar15 + uVar52" identifier + identifier)) , (binary_expression "puVar14 != puVar15" identifier != identifier)) ))) )) (compound_statement "{\n      (this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;\n    }" { (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n      super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl._M_finish =\n           puVar15" (field_expression "allocator<long_unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) })))) })) (expression_statement "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.input_file_;" (assignment_expression "this_00 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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_00 == (Input_file *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    Object::input_file((Object *)0x0);\n  }" if (parenthesized_expression "(this_00 == (Input_file *)0x0)" ( (binary_expression "this_00 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */\n    Object::input_file((Object *)0x0);\n  }" { comment comment (labeled_statement "Object::input_file((Object *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "input_file((Object *)0x0);" (call_expression "input_file((Object *)0x0)" identifier (argument_list "((Object *)0x0)" ( (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) })) (ERROR "local_230 = Input_file::" (assignment_expression "local_230 = Input_file" identifier = identifier) : :) (expression_statement "just_symbols(this_00);" (call_expression "just_symbols(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) (if_statement "if (local_230) {\n    if (!bVar26) {\n      pFVar18 = sd->section_headers;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }\n      pFVar18 = sd->section_names;\n      sd->section_headers = (File_view *)0x0;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }\n      sd->section_names = (File_view *)0x0;\n    }\n  }\n  else {\n    if (uVar64 != 0) {\n      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      pPVar7 = parameters->options_->plugins_;\n      __position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;\n      shdr.p_ = (Shdr_data<64> *)this;\n      if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }\n      pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;\n      uVar52 = (ulong)uVar64;\n      if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }\n      this->is_deferred_layout_ = true;\n    }\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    uVar52 = uVar53 + 0x40 >> 6;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    uVar53 = uVar52 * 8;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage = (_Bit_pointer)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + uVar52;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = uVar57 & 0x3f;\n    offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base._M_p;\n    local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base._M_offset;\n    memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53);\n    pGVar38 = parameters->options_;\n    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    bVar69 = (pGVar38->relocatable_).value;\n    cVar3 = bVar69;\n    if (bVar69 == false) {\n      cVar3 = (pGVar38->emit_relocs_).value;\n    }\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    i = 1;\n    if (uVar57 < 2) {\n      local_238 = 0;\n      __a = extraout_RDX_00;\nLAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n      if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }\n      if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }\n      if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }\n      pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;\n      if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }\n      uVar57 = (uint)pSVar59;\n      if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }\n      if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }\n      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n      operator_delete(pvVar34);\n      operator_delete(pvVar33);\n      return;\n    }\n    uVar64 = *(uint *)(local_1f0 + 0x44);\n    uVar52 = (ulong)*(uint *)(local_1f0 + 0x40);\n    shdr.p_ = pSVar54;\n    if (uVar52 < local_1c8) {\n      __a = (allocator<char> *)0x1;\n      local_238 = 0;\n      do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n  }\n  operator_delete(pvVar34);\n  operator_delete(pvVar33);\n  return;\n}" if (parenthesized_expression "(local_230)" ( identifier )) (compound_statement "{\n    if (!bVar26) {\n      pFVar18 = sd->section_headers;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }\n      pFVar18 = sd->section_names;\n      sd->section_headers = (File_view *)0x0;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }\n      sd->section_names = (File_view *)0x0;\n    }\n  }" { (if_statement "if (!bVar26) {\n      pFVar18 = sd->section_headers;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }\n      pFVar18 = sd->section_names;\n      sd->section_headers = (File_view *)0x0;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }\n      sd->section_names = (File_view *)0x0;\n    }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n      pFVar18 = sd->section_headers;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }\n      pFVar18 = sd->section_names;\n      sd->section_headers = (File_view *)0x0;\n      if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }\n      sd->section_names = (File_view *)0x0;\n    }" { (expression_statement "pFVar18 = sd->section_headers;" (assignment_expression "pFVar18 = sd->section_headers" identifier = (field_expression "sd->section_headers" identifier -> field_identifier)) ;) (if_statement "if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }" if (parenthesized_expression "(pFVar18 != (File_view *)0x0)" ( (binary_expression "pFVar18 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        File_view::~File_view(pFVar18,iVar32);\n        iVar32 = 0x18;\n        operator_delete(pFVar18,0x18);\n      }" { (labeled_statement "File_view::~File_view(pFVar18,iVar32);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar18,iVar32);" (unary_expression "~File_view(pFVar18,iVar32)" ~ (call_expression "File_view(pFVar18,iVar32)" identifier (argument_list "(pFVar18,iVar32)" ( identifier , identifier )))) ;)) (expression_statement "iVar32 = 0x18;" (assignment_expression "iVar32 = 0x18" identifier = number_literal) ;) (expression_statement "operator_delete(pFVar18,0x18);" (call_expression "operator_delete(pFVar18,0x18)" identifier (argument_list "(pFVar18,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "pFVar18 = sd->section_names;" (assignment_expression "pFVar18 = sd->section_names" identifier = (field_expression "sd->section_names" identifier -> field_identifier)) ;) (expression_statement "sd->section_headers = (File_view *)0x0;" (assignment_expression "sd->section_headers = (File_view *)0x0" (field_expression "sd->section_headers" identifier -> field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pFVar18 != (File_view *)0x0) {\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }" if (parenthesized_expression "(pFVar18 != (File_view *)0x0)" ( (binary_expression "pFVar18 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        File_view::~File_view(pFVar18,iVar32);\n        operator_delete(pFVar18,0x18);\n      }" { (labeled_statement "File_view::~File_view(pFVar18,iVar32);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar18,iVar32);" (unary_expression "~File_view(pFVar18,iVar32)" ~ (call_expression "File_view(pFVar18,iVar32)" identifier (argument_list "(pFVar18,iVar32)" ( identifier , identifier )))) ;)) (expression_statement "operator_delete(pFVar18,0x18);" (call_expression "operator_delete(pFVar18,0x18)" identifier (argument_list "(pFVar18,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "sd->section_names = (File_view *)0x0;" (assignment_expression "sd->section_names = (File_view *)0x0" (field_expression "sd->section_names" identifier -> field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n    if (uVar64 != 0) {\n      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      pPVar7 = parameters->options_->plugins_;\n      __position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;\n      shdr.p_ = (Shdr_data<64> *)this;\n      if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }\n      pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;\n      uVar52 = (ulong)uVar64;\n      if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }\n      this->is_deferred_layout_ = true;\n    }\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    uVar52 = uVar53 + 0x40 >> 6;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    uVar53 = uVar52 * 8;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage = (_Bit_pointer)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + uVar52;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = uVar57 & 0x3f;\n    offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base._M_p;\n    local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base._M_offset;\n    memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53);\n    pGVar38 = parameters->options_;\n    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    bVar69 = (pGVar38->relocatable_).value;\n    cVar3 = bVar69;\n    if (bVar69 == false) {\n      cVar3 = (pGVar38->emit_relocs_).value;\n    }\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    i = 1;\n    if (uVar57 < 2) {\n      local_238 = 0;\n      __a = extraout_RDX_00;\nLAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n      if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }\n      if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }\n      if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }\n      pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;\n      if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }\n      uVar57 = (uint)pSVar59;\n      if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }\n      if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }\n      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n      operator_delete(pvVar34);\n      operator_delete(pvVar33);\n      return;\n    }\n    uVar64 = *(uint *)(local_1f0 + 0x44);\n    uVar52 = (ulong)*(uint *)(local_1f0 + 0x40);\n    shdr.p_ = pSVar54;\n    if (uVar52 < local_1c8) {\n      __a = (allocator<char> *)0x1;\n      local_238 = 0;\n      do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n  }\n  operator_delete(pvVar34);\n  operator_delete(pvVar33);\n  return;\n}" else (compound_statement "{\n    if (uVar64 != 0) {\n      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      pPVar7 = parameters->options_->plugins_;\n      __position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;\n      shdr.p_ = (Shdr_data<64> *)this;\n      if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }\n      pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;\n      uVar52 = (ulong)uVar64;\n      if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }\n      this->is_deferred_layout_ = true;\n    }\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    uVar52 = uVar53 + 0x40 >> 6;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;\n    uVar53 = uVar52 * 8;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage = (_Bit_pointer)0x0;\n                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + uVar52;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6);\n    omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = uVar57 & 0x3f;\n    offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base._M_p;\n    local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base._M_offset;\n    memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53);\n    pGVar38 = parameters->options_;\n    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    bVar69 = (pGVar38->relocatable_).value;\n    cVar3 = bVar69;\n    if (bVar69 == false) {\n      cVar3 = (pGVar38->emit_relocs_).value;\n    }\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n         = (pointer)0x0;\n    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    i = 1;\n    if (uVar57 < 2) {\n      local_238 = 0;\n      __a = extraout_RDX_00;\nLAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n      if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }\n      if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }\n      if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }\n      pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;\n      if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }\n      uVar57 = (uint)pSVar59;\n      if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }\n      if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }\n      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n      operator_delete(pvVar34);\n      operator_delete(pvVar33);\n      return;\n    }\n    uVar64 = *(uint *)(local_1f0 + 0x44);\n    uVar52 = (ulong)*(uint *)(local_1f0 + 0x40);\n    shdr.p_ = pSVar54;\n    if (uVar52 < local_1c8) {\n      __a = (allocator<char> *)0x1;\n      local_238 = 0;\n      do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n  }\n  operator_delete(pvVar34);\n  operator_delete(pvVar33);\n  return;\n}" { (if_statement "if (uVar64 != 0) {\n      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      pPVar7 = parameters->options_->plugins_;\n      __position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;\n      shdr.p_ = (Shdr_data<64> *)this;\n      if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }\n      pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;\n      uVar52 = (ulong)uVar64;\n      if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }\n      this->is_deferred_layout_ = true;\n    }" if (parenthesized_expression "(uVar64 != 0)" ( (binary_expression "uVar64 != 0" identifier != number_literal) )) (compound_statement "{\n      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }\n      pPVar7 = parameters->options_->plugins_;\n      __position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;\n      shdr.p_ = (Shdr_data<64> *)this;\n      if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }\n      pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;\n      uVar52 = (ulong)uVar64;\n      if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }\n      this->is_deferred_layout_ = true;\n    }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "pPVar7 = parameters->options_->plugins_;" (assignment_expression "pPVar7 = parameters->options_->plugins_" identifier = (field_expression "parameters->options_->plugins_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish;" (field_expression "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold::Relobj*,_std" (assignment_expression "__position._M_current =\n           (pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(pPVar7->deferred_layout_objects_).\n           super__Vector_base<gold" (field_expression "(pPVar7->deferred_layout_objects_).\n           super__Vector_base" (parenthesized_expression "(pPVar7->deferred_layout_objects_)" ( (field_expression "pPVar7->deferred_layout_objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "shdr.p_ = (Shdr_data<64> *)this;" (assignment_expression "shdr.p_ = (Shdr_data<64> *)this" (field_expression "shdr.p_" identifier . field_identifier) = (parenthesized_expression "(Shdr_data<64> *)this" ( (binary_expression "Shdr_data<64> *)this" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) ))) ;) (if_statement "if (__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage) {\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }\n      else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }" if (parenthesized_expression "(__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage)" ( (field_expression "__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n          _M_end_of_storage" (field_expression "__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold::Relobj*,_std" (binary_expression "__position._M_current ==\n          (pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(pPVar7->deferred_layout_objects_).\n          super__Vector_base<gold" (field_expression "(pPVar7->deferred_layout_objects_).\n          super__Vector_base" (parenthesized_expression "(pPVar7->deferred_layout_objects_)" ( (field_expression "pPVar7->deferred_layout_objects_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n        std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);\n      }" { (ERROR "std::vector<gold::Relobj*,_std::allocator<gold::Relobj*>_>::\n        _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Relobj*,_std" identifier (ERROR "::vector<gold::Relobj*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Relobj*>_>::\n        _M_realloc_insert<gold" (binary_expression "Relobj*>_>::\n        _M_realloc_insert" (binary_expression "Relobj*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr);" (binary_expression "Relobj*_const&>\n                  (&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr)" (binary_expression "Relobj*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr)" ( (comma_expression "&pPVar7->deferred_layout_objects_,__position,(Relobj **)&shdr" (pointer_expression "&pPVar7->deferred_layout_objects_" & (field_expression "pPVar7->deferred_layout_objects_" identifier -> field_identifier)) , (comma_expression "__position,(Relobj **)&shdr" identifier , (cast_expression "(Relobj **)&shdr" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&shdr" & identifier)))) ))) ;) }) (else_clause "else {\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }" else (compound_statement "{\n        *__position._M_current = (Relobj *)this;\n        (pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;\n      }" { (expression_statement "*__position._M_current = (Relobj *)this;" (assignment_expression "*__position._M_current = (Relobj *)this" (pointer_expression "*__position._M_current" * (field_expression "__position._M_current" identifier . field_identifier)) = (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1;" (assignment_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish =\n             __position._M_current + 1" (field_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold::Relobj*,_std" (binary_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base<gold" (field_expression "(pPVar7->deferred_layout_objects_).\n        super__Vector_base" (parenthesized_expression "(pPVar7->deferred_layout_objects_)" ( (field_expression "pPVar7->deferred_layout_objects_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) (ERROR "pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold::Sized_relobj_file<64" (assignment_expression "pDVar8 = (this->deferred_layout_).\n               super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n               super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n               super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n               ._M_impl._M_start" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n               ._M_impl._M_start" (field_expression "_false>::Deferred_layout>_>\n               ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (expression_statement "uVar52 = (ulong)uVar64;" (assignment_expression "uVar52 = (ulong)uVar64" identifier = (cast_expression "(ulong)uVar64" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52) {\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }" if (parenthesized_expression "((ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52)" ( (binary_expression "(ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7) <\n          uVar52" (call_expression "(ulong)(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7)" ( (binary_expression "((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4) * 0x6db6db6db6db6db7" (parenthesized_expression "((long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4)" ( (ERROR "(long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "(long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "(long)(this->deferred_layout_).\n                         super__Vector_base<gold::Sized_relobj_file<64" (binary_expression "(long)(this->deferred_layout_).\n                         super__Vector_base<gold" (cast_expression "(long)(this->deferred_layout_).\n                         super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this->deferred_layout_).\n                         super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8 >> 4" (binary_expression "_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage - (long)pDVar8" (field_expression "_false>::Deferred_layout>_>\n                         ._M_impl._M_end_of_storage" (field_expression "_false>::Deferred_layout>_>\n                         ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)pDVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) )) * number_literal) ))) < identifier) )) (compound_statement "{\n        pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */\n        pDVar42 = (pointer)operator_new(uVar52 * 0x70);\n        if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }\n        pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;\n        pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;\n        if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }\n        if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);\n        (this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;\n      }" { (ERROR "pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64" (assignment_expression "pDVar16 = (this->deferred_layout_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n                  super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n                  super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                  ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n                  ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) comment (expression_statement "pDVar42 = (pointer)operator_new(uVar52 * 0x70);" (assignment_expression "pDVar42 = (pointer)operator_new(uVar52 * 0x70)" identifier = (cast_expression "(pointer)operator_new(uVar52 * 0x70)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(uVar52 * 0x70)" identifier (argument_list "(uVar52 * 0x70)" ( (binary_expression "uVar52 * 0x70" identifier * number_literal) ))))) ;) (if_statement "if (pDVar8 != pDVar16) {\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }" if (parenthesized_expression "(pDVar8 != pDVar16)" ( (binary_expression "pDVar8 != pDVar16" identifier != identifier) )) (compound_statement "{\n          paVar43 = &(pDVar8->name_).field_2;\n          pDVar51 = pDVar42;\n          do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);\n        }" { (expression_statement "paVar43 = &(pDVar8->name_).field_2;" (assignment_expression "paVar43 = &(pDVar8->name_).field_2" identifier = (pointer_expression "&(pDVar8->name_).field_2" & (field_expression "(pDVar8->name_).field_2" (parenthesized_expression "(pDVar8->name_)" ( (field_expression "pDVar8->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pDVar51 = pDVar42;" (assignment_expression "pDVar51 = pDVar42" identifier = identifier) ;) (do_statement "do {\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          } while (pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);" do (compound_statement "{\n            (pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;\n            pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }\n            pDVar62 = pDVar51 + 1;\n            (pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);\n            uVar64 = *(uint *)(paVar43 + 1);\n            (((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;\n            *(size_type *)((long)paVar43 + -8) = 0;\n            paVar43->_M_local_buf[0] = '\0';\n            pDVar51->shndx_ = uVar64;\n            pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);\n            pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x24);\n            *(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x34);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x44);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;\n            uVar23 = *(undefined8 *)((long)paVar43 + 0x54);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);\n            *(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;\n            paVar43 = paVar43 + 7;\n            pDVar51 = pDVar62;\n          }" { (expression_statement "(pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2;" (assignment_expression "(pDVar51->name_)._M_dataplus._M_p = (pointer)&(pDVar51->name_).field_2" (field_expression "(pDVar51->name_)._M_dataplus._M_p" (field_expression "(pDVar51->name_)._M_dataplus" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pDVar51->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pDVar51->name_).field_2" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p;" (assignment_expression "pcVar19 = (((string *)(paVar43 + -1))->_M_dataplus)._M_p" identifier = (field_expression "(((string *)(paVar43 + -1))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)(paVar43 + -1))->_M_dataplus)" ( (field_expression "((string *)(paVar43 + -1))->_M_dataplus" (parenthesized_expression "((string *)(paVar43 + -1))" ( (cast_expression "(string *)(paVar43 + -1)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar43 + -1)" ( (binary_expression "paVar43 + -1" identifier + number_literal) ))) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43) {\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }\n            else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 == paVar43)" ( (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                 *)pcVar19 == paVar43" (binary_expression "allocator<char>_>_9\n                 *)pcVar19" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)pcVar19" identifier * (ERROR ")" )) identifier)) == identifier) )) )) (compound_statement "{\n              uVar23 = *(undefined8 *)((long)paVar43 + 8);\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n              *(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;\n            }" { (expression_statement "uVar23 = *(undefined8 *)((long)paVar43 + 8);" (assignment_expression "uVar23 = *(undefined8 *)((long)paVar43 + 8)" identifier = (pointer_expression "*(undefined8 *)((long)paVar43 + 8)" * (cast_expression "(undefined8 *)((long)paVar43 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 8)" ( (binary_expression "(long)paVar43 + 8" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "(pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;" (assignment_expression "(pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity" (field_expression "(pDVar51->name_).field_2._M_allocated_capacity" (field_expression "(pDVar51->name_).field_2" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "paVar43->_M_allocated_capacity" identifier -> field_identifier)) ;) (expression_statement "*(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23;" (assignment_expression "*(undefined8 *)((long)&(pDVar51->name_).field_2 + 8) = uVar23" (pointer_expression "*(undefined8 *)((long)&(pDVar51->name_).field_2 + 8)" * (cast_expression "(undefined8 *)((long)&(pDVar51->name_).field_2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pDVar51->name_).field_2 + 8)" ( (binary_expression "(long)&(pDVar51->name_).field_2 + 8" (cast_expression "(long)&(pDVar51->name_).field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pDVar51->name_).field_2" & (field_expression "(pDVar51->name_).field_2" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }" else (compound_statement "{\n              (pDVar51->name_)._M_dataplus._M_p = pcVar19;\n              (pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;\n            }" { (expression_statement "(pDVar51->name_)._M_dataplus._M_p = pcVar19;" (assignment_expression "(pDVar51->name_)._M_dataplus._M_p = pcVar19" (field_expression "(pDVar51->name_)._M_dataplus._M_p" (field_expression "(pDVar51->name_)._M_dataplus" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity;" (assignment_expression "(pDVar51->name_).field_2._M_allocated_capacity = paVar43->_M_allocated_capacity" (field_expression "(pDVar51->name_).field_2._M_allocated_capacity" (field_expression "(pDVar51->name_).field_2" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "paVar43->_M_allocated_capacity" identifier -> field_identifier)) ;) }))) (expression_statement "pDVar62 = pDVar51 + 1;" (assignment_expression "pDVar62 = pDVar51 + 1" identifier = (binary_expression "pDVar51 + 1" identifier + number_literal)) ;) (expression_statement "(pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8);" (assignment_expression "(pDVar51->name_)._M_string_length = *(size_type *)((long)paVar43 + -8)" (field_expression "(pDVar51->name_)._M_string_length" (parenthesized_expression "(pDVar51->name_)" ( (field_expression "pDVar51->name_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(size_type *)((long)paVar43 + -8)" * (cast_expression "(size_type *)((long)paVar43 + -8)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + -8)" ( (binary_expression "(long)paVar43 + -8" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar64 = *(uint *)(paVar43 + 1);" (assignment_expression "uVar64 = *(uint *)(paVar43 + 1)" identifier = (pointer_expression "*(uint *)(paVar43 + 1)" * (cast_expression "(uint *)(paVar43 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar43 + 1)" ( (binary_expression "paVar43 + 1" identifier + number_literal) ))))) ;) (expression_statement "(((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43;" (assignment_expression "(((string *)(paVar43 + -1))->_M_dataplus)._M_p = (pointer)paVar43" (field_expression "(((string *)(paVar43 + -1))->_M_dataplus)._M_p" (parenthesized_expression "(((string *)(paVar43 + -1))->_M_dataplus)" ( (field_expression "((string *)(paVar43 + -1))->_M_dataplus" (parenthesized_expression "((string *)(paVar43 + -1))" ( (cast_expression "(string *)(paVar43 + -1)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar43 + -1)" ( (binary_expression "paVar43 + -1" identifier + number_literal) ))) )) -> field_identifier) )) . field_identifier) = (cast_expression "(pointer)paVar43" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "*(size_type *)((long)paVar43 + -8) = 0;" (assignment_expression "*(size_type *)((long)paVar43 + -8) = 0" (pointer_expression "*(size_type *)((long)paVar43 + -8)" * (cast_expression "(size_type *)((long)paVar43 + -8)" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + -8)" ( (binary_expression "(long)paVar43 + -8" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "paVar43->_M_local_buf[0] = '\0';" (assignment_expression "paVar43->_M_local_buf[0] = '\0'" (subscript_expression "paVar43->_M_local_buf[0]" (field_expression "paVar43->_M_local_buf" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pDVar51->shndx_ = uVar64;" (assignment_expression "pDVar51->shndx_ = uVar64" (field_expression "pDVar51->shndx_" identifier -> field_identifier) = identifier) ;) (expression_statement "pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14);" (assignment_expression "pDVar51->reloc_shndx_ = *(uint *)((long)paVar43 + 0x14)" (field_expression "pDVar51->reloc_shndx_" identifier -> field_identifier) = (pointer_expression "*(uint *)((long)paVar43 + 0x14)" * (cast_expression "(uint *)((long)paVar43 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x14)" ( (binary_expression "(long)paVar43 + 0x14" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18);" (assignment_expression "pDVar51->reloc_type_ = *(uint *)((long)paVar43 + 0x18)" (field_expression "pDVar51->reloc_type_" identifier -> field_identifier) = (pointer_expression "*(uint *)((long)paVar43 + 0x18)" * (cast_expression "(uint *)((long)paVar43 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x18)" ( (binary_expression "(long)paVar43 + 0x18" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar23 = *(undefined8 *)((long)paVar43 + 0x24);" (assignment_expression "uVar23 = *(undefined8 *)((long)paVar43 + 0x24)" identifier = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x24)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x24)" ( (binary_expression "(long)paVar43 + 0x24" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c);" (assignment_expression "*(undefined8 *)pDVar51->shdr_data_ = *(undefined8 *)((long)paVar43 + 0x1c)" (pointer_expression "*(undefined8 *)pDVar51->shdr_data_" * (cast_expression "(undefined8 *)pDVar51->shdr_data_" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar51->shdr_data_" identifier -> field_identifier))) = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x1c)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x1c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x1c)" ( (binary_expression "(long)paVar43 + 0x1c" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23;" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 8) = uVar23" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 8)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 8)" ( (binary_expression "pDVar51->shdr_data_ + 8" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar23 = *(undefined8 *)((long)paVar43 + 0x34);" (assignment_expression "uVar23 = *(undefined8 *)((long)paVar43 + 0x34)" identifier = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x34)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x34)" ( (binary_expression "(long)paVar43 + 0x34" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c);" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x10) = *(undefined8 *)((long)paVar43 + 0x2c)" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x10)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 0x10)" ( (binary_expression "pDVar51->shdr_data_ + 0x10" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x2c)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x2c)" ( (binary_expression "(long)paVar43 + 0x2c" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23;" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x18) = uVar23" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x18)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 0x18)" ( (binary_expression "pDVar51->shdr_data_ + 0x18" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar23 = *(undefined8 *)((long)paVar43 + 0x44);" (assignment_expression "uVar23 = *(undefined8 *)((long)paVar43 + 0x44)" identifier = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x44)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x44)" ( (binary_expression "(long)paVar43 + 0x44" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c);" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x20) = *(undefined8 *)((long)paVar43 + 0x3c)" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x20)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 0x20)" ( (binary_expression "pDVar51->shdr_data_ + 0x20" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x3c)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x3c)" ( (binary_expression "(long)paVar43 + 0x3c" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23;" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x28) = uVar23" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x28)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 0x28)" ( (binary_expression "pDVar51->shdr_data_ + 0x28" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar23 = *(undefined8 *)((long)paVar43 + 0x54);" (assignment_expression "uVar23 = *(undefined8 *)((long)paVar43 + 0x54)" identifier = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x54)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x54)" ( (binary_expression "(long)paVar43 + 0x54" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c);" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x30) = *(undefined8 *)((long)paVar43 + 0x4c)" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x30)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 0x30)" ( (binary_expression "pDVar51->shdr_data_ + 0x30" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)paVar43 + 0x4c)" * (cast_expression "(undefined8 *)((long)paVar43 + 0x4c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar43 + 0x4c)" ( (binary_expression "(long)paVar43 + 0x4c" (cast_expression "(long)paVar43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23;" (assignment_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x38) = uVar23" (pointer_expression "*(undefined8 *)(pDVar51->shdr_data_ + 0x38)" * (cast_expression "(undefined8 *)(pDVar51->shdr_data_ + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar51->shdr_data_ + 0x38)" ( (binary_expression "pDVar51->shdr_data_ + 0x38" (field_expression "pDVar51->shdr_data_" identifier -> field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "paVar43 = paVar43 + 7;" (assignment_expression "paVar43 = paVar43 + 7" identifier = (binary_expression "paVar43 + 7" identifier + number_literal)) ;) (expression_statement "pDVar51 = pDVar62;" (assignment_expression "pDVar51 = pDVar62" identifier = identifier) ;) }) while (parenthesized_expression "(pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1)" ( (binary_expression "pDVar62 !=\n                   pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1" identifier != (binary_expression "pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1" (binary_expression "pDVar42 + (((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff)" identifier + (parenthesized_expression "(((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff)" ( (binary_expression "((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7 & 0xfffffffffffffff" (binary_expression "((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4) *\n                              0xdb6db6db6db6db7" (parenthesized_expression "((ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4)" ( (binary_expression "(ulong)((long)pDVar16 + (-0x70 - (long)pDVar8)) >> 4" (call_expression "(ulong)((long)pDVar16 + (-0x70 - (long)pDVar8))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pDVar16 + (-0x70 - (long)pDVar8))" ( (binary_expression "(long)pDVar16 + (-0x70 - (long)pDVar8)" (cast_expression "(long)pDVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x70 - (long)pDVar8)" ( (binary_expression "-0x70 - (long)pDVar8" number_literal - (cast_expression "(long)pDVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))) >> number_literal) )) * number_literal) & number_literal) ))) + number_literal)) )) ;) })) (ERROR "pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64" (assignment_expression "pDVar51 = (this->deferred_layout_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n                  super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n                  super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_finish" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                  ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n                  ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (ERROR "pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold::Sized_relobj_file<64" (assignment_expression "pDVar62 = (this->deferred_layout_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n                  super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n                  super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                  ._M_impl._M_start" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                  ._M_impl._M_start" (field_expression "_false>::Deferred_layout>_>\n                  ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (pDVar51 != pDVar62) {\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }" if (parenthesized_expression "(pDVar51 != pDVar62)" ( (binary_expression "pDVar51 != pDVar62" identifier != identifier) )) (compound_statement "{\n          do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);\n          pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;\n        }" { (do_statement "do {\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          } while (pDVar51 != pDVar62);" do (compound_statement "{\n            pcVar19 = (pDVar62->name_)._M_dataplus._M_p;\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }\n            pDVar62 = pDVar62 + 1;\n          }" { (expression_statement "pcVar19 = (pDVar62->name_)._M_dataplus._M_p;" (assignment_expression "pcVar19 = (pDVar62->name_)._M_dataplus._M_p" identifier = (field_expression "(pDVar62->name_)._M_dataplus._M_p" (field_expression "(pDVar62->name_)._M_dataplus" (parenthesized_expression "(pDVar62->name_)" ( (field_expression "pDVar62->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2) {\n              operator_delete(pcVar19);\n            }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                 *)pcVar19 != &(pDVar62->name_).field_2" (binary_expression "allocator<char>_>_9\n                 *)pcVar19" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)pcVar19" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&(pDVar62->name_).field_2" & (field_expression "(pDVar62->name_).field_2" (parenthesized_expression "(pDVar62->name_)" ( (field_expression "pDVar62->name_" identifier -> field_identifier) )) . field_identifier))) )) )) (compound_statement "{\n              operator_delete(pcVar19);\n            }" { (expression_statement "operator_delete(pcVar19);" (call_expression "operator_delete(pcVar19)" identifier (argument_list "(pcVar19)" ( identifier ))) ;) })) (expression_statement "pDVar62 = pDVar62 + 1;" (assignment_expression "pDVar62 = pDVar62 + 1" identifier = (binary_expression "pDVar62 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pDVar51 != pDVar62)" ( (binary_expression "pDVar51 != pDVar62" identifier != identifier) )) ;) (ERROR "pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<64" (assignment_expression "pDVar62 = (this->deferred_layout_).\n                    super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n                    super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n                    super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ._M_impl._M_start" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                    ._M_impl._M_start" (field_expression "_false>::Deferred_layout>_>\n                    ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) })) (if_statement "if (pDVar62 != (pointer)0x0) {\n          operator_delete(pDVar62);\n        }" if (parenthesized_expression "(pDVar62 != (pointer)0x0)" ( (binary_expression "pDVar62 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n          operator_delete(pDVar62);\n        }" { (expression_statement "operator_delete(pDVar62);" (call_expression "operator_delete(pDVar62)" identifier (argument_list "(pDVar62)" ( identifier ))) ;) })) (ERROR "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64" (binary_expression "(this->deferred_layout_).\n        super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n        super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (assignment_expression "_false>::Deferred_layout>_>\n        ._M_impl._M_start = pDVar42" (field_expression "_false>::Deferred_layout>_>\n        ._M_impl._M_start" (field_expression "_false>::Deferred_layout>_>\n        ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)) ;) (ERROR "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64" (binary_expression "(this->deferred_layout_).\n        super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n        super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42);" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (assignment_expression "_false>::Deferred_layout>_>\n        ._M_impl._M_finish = (pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42)" (field_expression "_false>::Deferred_layout>_>\n        ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n        ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)(((long)pDVar16 - (long)pDVar8) + (long)pDVar42)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(((long)pDVar16 - (long)pDVar8) + (long)pDVar42)" ( (binary_expression "((long)pDVar16 - (long)pDVar8) + (long)pDVar42" (parenthesized_expression "((long)pDVar16 - (long)pDVar8)" ( (binary_expression "(long)pDVar16 - (long)pDVar8" (cast_expression "(long)pDVar16" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pDVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) + (cast_expression "(long)pDVar42" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))))) ;) (ERROR "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "(this->deferred_layout_).\n        super__Vector_base<gold::Sized_relobj_file<64" (binary_expression "(this->deferred_layout_).\n        super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n        super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52;" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (assignment_expression "_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage = pDVar42 + uVar52" (field_expression "_false>::Deferred_layout>_>\n        ._M_impl._M_end_of_storage" (field_expression "_false>::Deferred_layout>_>\n        ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "pDVar42 + uVar52" identifier + identifier))) ;) })) (expression_statement "this->is_deferred_layout_ = true;" (assignment_expression "this->is_deferred_layout_ = true" (field_expression "this->is_deferred_layout_" identifier -> field_identifier) = true) ;) })) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar52 = uVar53 + 0x40 >> 6;" (assignment_expression "uVar52 = uVar53 + 0x40 >> 6" identifier = (binary_expression "uVar53 + 0x40 >> 6" (binary_expression "uVar53 + 0x40" identifier + number_literal) >> number_literal)) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p = (_Bit_type *)0x0" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar53 = uVar52 * 8;" (assignment_expression "uVar53 = uVar52 * 8" identifier = (binary_expression "uVar52 * 8" identifier * number_literal)) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = 0;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = 0" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage = (_Bit_pointer)0x0;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage = (_Bit_pointer)0x0" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_pointer)0x0" ( (type_descriptor "_Bit_pointer" type_identifier) ) number_literal)) ;) comment (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53);" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p = (_Bit_type *)operator_new(uVar53)" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Bit_type *)operator_new(uVar53)" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(uVar53)" identifier (argument_list "(uVar53)" ( identifier ))))) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + uVar52;" (binary_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + uVar52" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std::allocator<bool" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage =\n         omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n    _M_end_of_storage" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + identifier) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset = 0" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base._M_offset" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6);" (binary_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p + ((long)uVar66 >> 6)" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start.\n         super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std::allocator<bool" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p =\n         omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + (parenthesized_expression "((long)uVar66 >> 6)" ( (binary_expression "(long)uVar66 >> 6" (cast_expression "(long)uVar66" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal) ))) ;) (expression_statement "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = uVar57 & 0x3f;" (assignment_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset = uVar57 & 0x3f" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base._M_offset" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish.\n    super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_finish" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "uVar57 & 0x3f" identifier & number_literal)) ;) (expression_statement "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base._M_p;" (field_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base._M_p" (field_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish.super__Bit_iterator_base" (field_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data\n                    ._M_finish" (field_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "offset = (off_t)omit.super__Bvector_base<std::allocator<bool" (assignment_expression "offset = (off_t)omit.super__Bvector_base<std" identifier = (binary_expression "(off_t)omit.super__Bvector_base<std" (cast_expression "(off_t)omit.super__Bvector_base" ( (type_descriptor "off_t" type_identifier) ) (field_expression "omit.super__Bvector_base" identifier . field_identifier)) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base._M_offset;" (field_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base._M_offset" (field_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish.super__Bit_iterator_base" (field_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n               _M_finish" (field_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "local_a0 = omit.super__Bvector_base<std::allocator<bool" (assignment_expression "local_a0 = omit.super__Bvector_base<std" identifier = (binary_expression "omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53);" (call_expression "memset(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53)" identifier (argument_list "(omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p,0,uVar53)" ( (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base._M_p" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start\n           .super__Bit_iterator_base" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data._M_start" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (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) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) , number_literal , identifier ))) ;) (expression_statement "pGVar38 = parameters->options_;" (assignment_expression "pGVar38 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(pGVar38 == (General_options *)0x0)" ( (binary_expression "pGVar38 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */\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 "bVar69 = (pGVar38->relocatable_).value;" (assignment_expression "bVar69 = (pGVar38->relocatable_).value" identifier = (field_expression "(pGVar38->relocatable_).value" (parenthesized_expression "(pGVar38->relocatable_)" ( (field_expression "pGVar38->relocatable_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "cVar3 = bVar69;" (assignment_expression "cVar3 = bVar69" identifier = identifier) ;) (if_statement "if (bVar69 == false) {\n      cVar3 = (pGVar38->emit_relocs_).value;\n    }" if (parenthesized_expression "(bVar69 == false)" ( (binary_expression "bVar69 == false" identifier == false) )) (compound_statement "{\n      cVar3 = (pGVar38->emit_relocs_).value;\n    }" { (expression_statement "cVar3 = (pGVar38->emit_relocs_).value;" (assignment_expression "cVar3 = (pGVar38->emit_relocs_).value" identifier = (field_expression "(pGVar38->emit_relocs_).value" (parenthesized_expression "(pGVar38->emit_relocs_)" ( (field_expression "pGVar38->emit_relocs_" identifier -> field_identifier) )) . field_identifier)) ;) })) (ERROR "reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.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 "reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.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 "reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.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 "eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0" (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) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0" (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) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.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 "debug_info_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0" (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) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "debug_info_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0" (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) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "debug_info_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.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 "debug_types_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_start = (pointer)0x0" (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) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "debug_types_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0" (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) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "debug_types_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.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 "i = 1;" (assignment_expression "i = 1" identifier = number_literal) ;) (if_statement "if (uVar57 < 2) {\n      local_238 = 0;\n      __a = extraout_RDX_00;\nLAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n      if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }\n      if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }\n      if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }\n      pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;\n      if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }\n      uVar57 = (uint)pSVar59;\n      if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }\n      if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }\n      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n      operator_delete(pvVar34);\n      operator_delete(pvVar33);\n      return;\n    }" if (parenthesized_expression "(uVar57 < 2)" ( (binary_expression "uVar57 < 2" identifier < number_literal) )) (compound_statement "{\n      local_238 = 0;\n      __a = extraout_RDX_00;\nLAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n      if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }\n      if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }\n      if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }\n      pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;\n      if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }\n      uVar57 = (uint)pSVar59;\n      if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }\n      if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }\n      if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }\n      std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n      operator_delete(pvVar34);\n      operator_delete(pvVar33);\n      return;\n    }" { (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (expression_statement "__a = extraout_RDX_00;" (assignment_expression "__a = extraout_RDX_00" identifier = identifier) ;) (labeled_statement "LAB_001da530:\n      local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;" statement_identifier : (expression_statement "local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;" (binary_expression "local_270 = &omit.super__Bvector_base<std::allocator<bool>_>" (binary_expression "local_270 = &omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "local_270 = &omit.super__Bvector_base<std::allocator<bool" (assignment_expression "local_270 = &omit.super__Bvector_base<std" identifier = (binary_expression "&omit.super__Bvector_base<std" (pointer_expression "&omit.super__Bvector_base" & (field_expression "omit.super__Bvector_base" identifier . field_identifier)) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) > identifier) ;)) (if_statement "if (!bVar26) {\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */\n        Layout::merge_gnu_properties(layout,(Object *)this);\n        Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);\n        __a = extraout_RDX;\n      }" { comment (labeled_statement "Layout::merge_gnu_properties(layout,(Object *)this);" statement_identifier : (ERROR ":" :) (expression_statement "merge_gnu_properties(layout,(Object *)this);" (call_expression "merge_gnu_properties(layout,(Object *)this)" identifier (argument_list "(layout,(Object *)this)" ( identifier , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (labeled_statement "Layout::layout_gnu_stack(layout,local_230,local_238,(Object *)this);" statement_identifier : (ERROR ":" :) (expression_statement "layout_gnu_stack(layout,local_230,local_238,(Object *)this);" (call_expression "layout_gnu_stack(layout,local_230,local_238,(Object *)this)" identifier (argument_list "(layout,local_230,local_238,(Object *)this)" ( identifier , identifier , identifier , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "__a = extraout_RDX;" (assignment_expression "__a = extraout_RDX" identifier = identifier) ;) })) (if_statement "if (bVar27) {\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n        if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }\n      }" { (if_statement "if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }" if (parenthesized_expression "(eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish)" ( (ERROR "eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start" (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) != (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (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) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x751,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x751,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x751,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }" else (if_statement "if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }" if (parenthesized_expression "(eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish)" ( (ERROR "eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>.\n               _M_impl._M_start" (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) != (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (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) )) (compound_statement "{\n        puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                  _M_impl._M_start;\n        do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);\n      }" { (ERROR "puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "puVar55 = eh_frame_sections.super__Vector_base<unsigned_int,_std" (assignment_expression "puVar55 = eh_frame_sections.super__Vector_base<unsigned_int" identifier = (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>.\n                  _M_impl._M_start;" (field_expression "allocator<unsigned_int>_>.\n                  _M_impl._M_start" (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) ;) (do_statement "do {\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        } while (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55);" do (compound_statement "{\n          uVar4 = *puVar55;\n          offset = (off_t)(local_1f0 + (uVar4 << 6));\n          layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n          puVar55 = puVar55 + 1;\n          __a = extraout_RDX_01;\n        }" { (expression_statement "uVar4 = *puVar55;" (assignment_expression "uVar4 = *puVar55" identifier = (pointer_expression "*puVar55" * identifier)) ;) (expression_statement "offset = (off_t)(local_1f0 + (uVar4 << 6));" (assignment_expression "offset = (off_t)(local_1f0 + (uVar4 << 6))" identifier = (call_expression "(off_t)(local_1f0 + (uVar4 << 6))" (parenthesized_expression "(off_t)" ( identifier )) (argument_list "(local_1f0 + (uVar4 << 6))" ( (binary_expression "local_1f0 + (uVar4 << 6)" identifier + (parenthesized_expression "(uVar4 << 6)" ( (binary_expression "uVar4 << 6" identifier << number_literal) ))) )))) ;) (expression_statement "layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));" (call_expression "layout_eh_frame_section\n                    (this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" identifier (argument_list "(this,layout,(uchar *)local_1f8,local_200,(uchar *)local_220,local_228,uVar4,\n                     (Shdr *)&offset,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                     *(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" ( identifier , identifier , (cast_expression "(uchar *)local_1f8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(uchar *)local_220" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(Shdr *)&offset" ( (type_descriptor "Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier)) , (pointer_expression "*(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + (ulong)uVar4 * 4)" ( (binary_expression "(long)pvVar33 + (ulong)uVar4 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) , (pointer_expression "*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + (ulong)uVar4 * 4)" ( (binary_expression "(long)pvVar34 + (ulong)uVar4 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ))) ;) (expression_statement "puVar55 = puVar55 + 1;" (assignment_expression "puVar55 = puVar55 + 1" identifier = (binary_expression "puVar55 + 1" identifier + number_literal)) ;) (expression_statement "__a = extraout_RDX_01;" (assignment_expression "__a = extraout_RDX_01" identifier = identifier) ;) }) while (parenthesized_expression "(eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55)" ( (ERROR "eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>.\n                 _M_impl._M_finish != puVar55" (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) != identifier) )) ;) })))) (if_statement "if (cVar3 != '\0') {\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */\n        Relobj::size_relocatable_relocs((Relobj *)this);\n        __a = extraout_RDX_05;\n      }" { comment (labeled_statement "Relobj::size_relocatable_relocs((Relobj *)this);" statement_identifier : (ERROR ":" :) (expression_statement "size_relocatable_relocs((Relobj *)this);" (call_expression "size_relocatable_relocs((Relobj *)this)" identifier (argument_list "((Relobj *)this)" ( (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "__a = extraout_RDX_05;" (assignment_expression "__a = extraout_RDX_05" identifier = identifier) ;) })) (expression_statement "pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start;" (assignment_expression "pSVar59 = (Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start" identifier = (parenthesized_expression "(Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                _M_impl._M_start" ( (ERROR "Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "Sized_relobj_file<64,_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false> *)\n                reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "_false> *)\n                reloc_sections.super__Vector_base<unsigned_int" (binary_expression "_false> *)\n                reloc_sections.super__Vector_base" identifier > (pointer_expression "*)\n                reloc_sections.super__Vector_base" * (ERROR ")" )) (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier))) < identifier) , identifier)) : :) (field_expression "allocator<unsigned_int>_>.\n                _M_impl._M_start" (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) ))) ;) (if_statement "if (bVar25) {\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }" if (parenthesized_expression "(bVar25)" ( identifier )) (compound_statement "{\n        if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }" { (if_statement "if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }" if (parenthesized_expression "(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish)" ( (ERROR "reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>._M_impl.\n            _M_start !=\n            reloc_sections.super__Vector_base<unsigned_int" (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) != (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (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) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x76c,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x76c,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }" else (if_statement "if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish) {\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }" if (parenthesized_expression "(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_finish)" ( (ERROR "reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n               _M_impl._M_start !=\n               reloc_sections.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>.\n               _M_impl._M_start" (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) != (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (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) )) (compound_statement "{\n        local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;\n        do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);\n      }" { (expression_statement "local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start;" (assignment_expression "local_1a0 = (Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start" identifier = (parenthesized_expression "(Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start" ( (ERROR "Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "Shdr_data<64> *)\n                    reloc_sections.super__Vector_base<unsigned_int" (binary_expression "Shdr_data<64> *)\n                    reloc_sections.super__Vector_base" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)\n                    reloc_sections.super__Vector_base" * (ERROR ")" )) (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier))) < identifier) , identifier) : :) (field_expression "allocator<unsigned_int>_>.\n                    _M_impl._M_start" (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) ))) ;) (do_statement "do {\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        } while ((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0);" do (compound_statement "{\n          uVar4 = local_1a0->sh_name;\n          uVar52 = (ulong)uVar4;\n          pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));\n          uVar64 = pSVar54->sh_info;\n          shdr_2.p_ = pSVar54;\n          if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }\n          if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);\n        }" { (expression_statement "uVar4 = local_1a0->sh_name;" (assignment_expression "uVar4 = local_1a0->sh_name" identifier = (field_expression "local_1a0->sh_name" identifier -> field_identifier)) ;) (expression_statement "uVar52 = (ulong)uVar4;" (assignment_expression "uVar52 = (ulong)uVar4" identifier = (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6));" (assignment_expression "pSVar54 = (Shdr_data<64> *)(local_1f0 + (uVar4 << 6))" identifier = (call_expression "(Shdr_data<64> *)(local_1f0 + (uVar4 << 6))" (parenthesized_expression "(Shdr_data<64> *)" ( (binary_expression "Shdr_data<64> *" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(local_1f0 + (uVar4 << 6))" ( (binary_expression "local_1f0 + (uVar4 << 6)" identifier + (parenthesized_expression "(uVar4 << 6)" ( (binary_expression "uVar4 << 6" identifier << number_literal) ))) )))) ;) (expression_statement "uVar64 = pSVar54->sh_info;" (assignment_expression "uVar64 = pSVar54->sh_info" identifier = (field_expression "pSVar54->sh_info" identifier -> field_identifier)) ;) (expression_statement "shdr_2.p_ = pSVar54;" (assignment_expression "shdr_2.p_ = pSVar54" (field_expression "shdr_2.p_" identifier . field_identifier) = identifier) ;) (if_statement "if (0xfeff < uVar64) {\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }" if (parenthesized_expression "(0xfeff < uVar64)" ( (binary_expression "0xfeff < uVar64" number_literal < identifier) )) (compound_statement "{\n            elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n            uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;\n            __a = extraout_RDX_02;\n          }" { (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Object>::initialize_shnum(&this->elf_file_);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Object>:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_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 "uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar64 = uVar64 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar64 + (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 "__a = extraout_RDX_02;" (assignment_expression "__a = extraout_RDX_02" identifier = identifier) ;) })) (if_statement "if (uVar64 < uVar57) {\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }" if (parenthesized_expression "(uVar64 < uVar57)" ( (binary_expression "uVar64 < uVar57" identifier < identifier) )) (compound_statement "{\n            ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;\n            pOVar44 = ppOVar17[uVar64];\n            if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n          }" { (expression_statement "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start;" (field_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl._M_start" (field_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                       ._M_impl" (binary_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar17 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                       super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pOVar44 = ppOVar17[uVar64];" (assignment_expression "pOVar44 = ppOVar17[uVar64]" identifier = (subscript_expression "ppOVar17[uVar64]" identifier [ identifier ])) ;) (if_statement "if (pOVar44 == (Output_section *)0x2) {\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }\n            else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }" if (parenthesized_expression "(pOVar44 == (Output_section *)0x2)" ( (binary_expression "pOVar44 == (Output_section *)0x2" identifier == (cast_expression "(Output_section *)0x2" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }\n            }" { (if_statement "if (!bVar26) {\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                EVar5 = (shdr_2.p_)->sh_type;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);\n                local_84._0_4_ = 0;\n                local_84._4_4_ = 0;\n                uVar24._0_4_ = pSVar54->sh_name;\n                uVar24._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar24,0);\n                uStack_78 = EVar5;\n                pSVar59 = (Sized_relobj_file<64,_false> *)&offset;\n                auStack_98._16_4_ = uVar4;\n                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);\n                __a = extraout_RDX_03;\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;\n              }" { (expression_statement "EVar5 = (shdr_2.p_)->sh_type;" (assignment_expression "EVar5 = (shdr_2.p_)->sh_type" identifier = (field_expression "(shdr_2.p_)->sh_type" (parenthesized_expression "(shdr_2.p_)" ( (field_expression "shdr_2.p_" identifier . field_identifier) )) -> field_identifier)) ;) (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((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) > : : identifier ( ( (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                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a);" (comma_expression "allocator<char>_> *)\n                             &offset,(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a" (binary_expression "allocator<char>_> *)\n                             &offset" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                             &offset" * (ERROR ")" )) (pointer_expression "&offset" & identifier))) , (comma_expression "(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name),__a" (cast_expression "(char *)((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name)" ( (binary_expression "(long)&local_1c0->section_headers +\n                                             (ulong)(shdr_2.p_)->sh_name" (cast_expression "(long)&local_1c0->section_headers" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_1c0->section_headers" & (field_expression "local_1c0->section_headers" identifier -> field_identifier))) + (field_expression "(ulong)(shdr_2.p_)->sh_name" (call_expression "(ulong)(shdr_2.p_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(shdr_2.p_)" ( (field_expression "shdr_2.p_" identifier . field_identifier) ))) -> field_identifier)) ))) , identifier)) (ERROR ")" )) ;) (expression_statement "local_84._0_4_ = 0;" (assignment_expression "local_84._0_4_ = 0" (field_expression "local_84._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "local_84._4_4_ = 0;" (assignment_expression "local_84._4_4_ = 0" (field_expression "local_84._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar24._0_4_ = pSVar54->sh_name;" (assignment_expression "uVar24._0_4_ = pSVar54->sh_name" (field_expression "uVar24._0_4_" identifier . field_identifier) = (field_expression "pSVar54->sh_name" identifier -> field_identifier)) ;) (expression_statement "uVar24._4_4_ = pSVar54->sh_type;" (assignment_expression "uVar24._4_4_ = pSVar54->sh_type" (field_expression "uVar24._4_4_" identifier . field_identifier) = (field_expression "pSVar54->sh_type" identifier -> field_identifier)) ;) (expression_statement "EStack_74 = pSVar54->sh_flags;" (assignment_expression "EStack_74 = pSVar54->sh_flags" identifier = (field_expression "pSVar54->sh_flags" identifier -> field_identifier)) ;) (expression_statement "local_6c = pSVar54->sh_addr;" (assignment_expression "local_6c = pSVar54->sh_addr" identifier = (field_expression "pSVar54->sh_addr" identifier -> field_identifier)) ;) (expression_statement "EStack_64 = pSVar54->sh_offset;" (assignment_expression "EStack_64 = pSVar54->sh_offset" identifier = (field_expression "pSVar54->sh_offset" identifier -> field_identifier)) ;) (expression_statement "local_5c = pSVar54->sh_size;" (assignment_expression "local_5c = pSVar54->sh_size" identifier = (field_expression "pSVar54->sh_size" identifier -> field_identifier)) ;) (expression_statement "uStack_54 = *(undefined8 *)&pSVar54->sh_link;" (assignment_expression "uStack_54 = *(undefined8 *)&pSVar54->sh_link" identifier = (pointer_expression "*(undefined8 *)&pSVar54->sh_link" * (cast_expression "(undefined8 *)&pSVar54->sh_link" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar54->sh_link" & (field_expression "pSVar54->sh_link" identifier -> field_identifier))))) ;) (expression_statement "local_4c = pSVar54->sh_addralign;" (assignment_expression "local_4c = pSVar54->sh_addralign" identifier = (field_expression "pSVar54->sh_addralign" identifier -> field_identifier)) ;) (expression_statement "EStack_44 = pSVar54->sh_entsize;" (assignment_expression "EStack_44 = pSVar54->sh_entsize" identifier = (field_expression "pSVar54->sh_entsize" identifier -> field_identifier)) ;) (expression_statement "local_7c = SUB84(uVar24,0);" (assignment_expression "local_7c = SUB84(uVar24,0)" identifier = (call_expression "SUB84(uVar24,0)" identifier (argument_list "(uVar24,0)" ( identifier , number_literal )))) ;) (expression_statement "uStack_78 = EVar5;" (assignment_expression "uStack_78 = EVar5" identifier = identifier) ;) (expression_statement "pSVar59 = (Sized_relobj_file<64,_false> *)&offset;" (assignment_expression "pSVar59 = (Sized_relobj_file<64,_false> *)&offset" identifier = (binary_expression "(Sized_relobj_file<64,_false> *)&offset" (parenthesized_expression "(Sized_relobj_file<64,_false> *)" ( (comma_expression "Sized_relobj_file<64,_false> *" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (expression_statement "auStack_98._16_4_ = uVar4;" (assignment_expression "auStack_98._16_4_ = uVar4" (field_expression "auStack_98._16_4_" identifier . field_identifier) = identifier) ;) comment (labeled_statement "std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);" statement_identifier (ERROR "::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n                ::emplace_back<gold" (binary_expression "_false>::Deferred_layout>_>\n                ::emplace_back" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset);" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>\n                          (&this->deferred_layout_relocs_,(Deferred_layout *)&offset)" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > (parenthesized_expression "(&this->deferred_layout_relocs_,(Deferred_layout *)&offset)" ( (comma_expression "&this->deferred_layout_relocs_,(Deferred_layout *)&offset" (pointer_expression "&this->deferred_layout_relocs_" & (field_expression "this->deferred_layout_relocs_" identifier -> field_identifier)) , (cast_expression "(Deferred_layout *)&offset" ( (type_descriptor "Deferred_layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier))) )))) ;)) (expression_statement "__a = extraout_RDX_03;" (assignment_expression "__a = extraout_RDX_03" identifier = identifier) ;) (if_statement "if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }" if (parenthesized_expression "((undefined1 *)offset != auStack_98)" ( (binary_expression "(undefined1 *)offset != auStack_98" (cast_expression "(undefined1 *)offset" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                  operator_delete((void *)offset);\n                  __a = extraout_RDX_04;\n                }" { (expression_statement "operator_delete((void *)offset);" (call_expression "operator_delete((void *)offset)" identifier (argument_list "((void *)offset)" ( (cast_expression "(void *)offset" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "__a = extraout_RDX_04;" (assignment_expression "__a = extraout_RDX_04" identifier = identifier) ;) })) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52] = (Output_section *)0x2" (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[uVar52]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(Output_section *)0x2" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) })) }) (else_clause "else if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }" else (if_statement "if (pOVar44 == (Output_section *)0x0) {\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }\n            else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }" if (parenthesized_expression "(pOVar44 == (Output_section *)0x0)" ( (binary_expression "pOVar44 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              ppOVar17[uVar52] = (Output_section *)0x0;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }" { (expression_statement "ppOVar17[uVar52] = (Output_section *)0x0;" (assignment_expression "ppOVar17[uVar52] = (Output_section *)0x0" (subscript_expression "ppOVar17[uVar52]" identifier [ identifier ]) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }) (else_clause "else {\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }" else (compound_statement "{\n              rr = (Relocatable_relocs *)operator_new(0x28);\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;\n              (rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;\n              rr->output_reloc_count_ = 0;\n              rr->posd_ = (Output_data *)0x0;\n              if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              (((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;\n              pSVar59 = this;\n              pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);\n              __a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n              *(Output_section **)(__a + uVar52 * 8) = pOVar44;\n              (this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;\n            }" { (expression_statement "rr = (Relocatable_relocs *)operator_new(0x28);" (assignment_expression "rr = (Relocatable_relocs *)operator_new(0x28)" identifier = (cast_expression "(Relocatable_relocs *)operator_new(0x28)" ( (type_descriptor "Relocatable_relocs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (ERROR "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::" (comma_expression "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std" (binary_expression "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char" (field_expression "(rr->reloc_strategies_).\n              super__Vector_base" (parenthesized_expression "(rr->reloc_strategies_)" ( (field_expression "rr->reloc_strategies_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0;" (assignment_expression "allocator<unsigned_char>_>._M_impl._M_start =\n                   (pointer)0x0" (field_expression "allocator<unsigned_char>_>._M_impl._M_start" (field_expression "allocator<unsigned_char>_>._M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::" (comma_expression "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std" (binary_expression "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char" (field_expression "(rr->reloc_strategies_).\n              super__Vector_base" (parenthesized_expression "(rr->reloc_strategies_)" ( (field_expression "rr->reloc_strategies_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0;" (assignment_expression "allocator<unsigned_char>_>._M_impl._M_finish =\n                   (pointer)0x0" (field_expression "allocator<unsigned_char>_>._M_impl._M_finish" (field_expression "allocator<unsigned_char>_>._M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std::" (comma_expression "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char,_std" (binary_expression "(rr->reloc_strategies_).\n              super__Vector_base<unsigned_char" (field_expression "(rr->reloc_strategies_).\n              super__Vector_base" (parenthesized_expression "(rr->reloc_strategies_)" ( (field_expression "rr->reloc_strategies_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_char>_>._M_impl.\n              _M_end_of_storage" (field_expression "allocator<unsigned_char>_>._M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "rr->output_reloc_count_ = 0;" (assignment_expression "rr->output_reloc_count_ = 0" (field_expression "rr->output_reloc_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "rr->posd_ = (Output_data *)0x0;" (assignment_expression "rr->posd_ = (Output_data *)0x0" (field_expression "rr->posd_" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" if (parenthesized_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4)" ( (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_ <= uVar4" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "(((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr;" (assignment_expression "(((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52] = rr" (subscript_expression "(((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start[uVar52]" (field_expression "(((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl._M_start" (field_expression "(((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )._M_impl" (parenthesized_expression "(((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n              )" ( (binary_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>" (binary_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_" (binary_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold" (binary_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold::Relocatable_relocs*,_std" (binary_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base<gold" (field_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)->\n              super__Vector_base" (parenthesized_expression "((this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_)" ( (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.map_to_relocatable_relocs_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (expression_statement "pSVar59 = this;" (assignment_expression "pSVar59 = this" identifier = identifier) ;) (expression_statement "pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr);" (comma_expression "pOVar44 = Layout::layout_reloc<64,_false>(layout,this,uVar4,&shdr_2,pOVar44,rr)" (binary_expression "pOVar44 = Layout::layout_reloc<64" (assignment_expression "pOVar44 = Layout" identifier = identifier) (ERROR "::layout_reloc" : : identifier) < number_literal) , (binary_expression "_false>(layout,this,uVar4,&shdr_2,pOVar44,rr)" identifier > (parenthesized_expression "(layout,this,uVar4,&shdr_2,pOVar44,rr)" ( (comma_expression "layout,this,uVar4,&shdr_2,pOVar44,rr" identifier , (comma_expression "this,uVar4,&shdr_2,pOVar44,rr" identifier , (comma_expression "uVar4,&shdr_2,pOVar44,rr" identifier , (comma_expression "&shdr_2,pOVar44,rr" (pointer_expression "&shdr_2" & identifier) , (comma_expression "pOVar44,rr" identifier , identifier))))) )))) ;) (expression_statement "__a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;" (assignment_expression "__a = (allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" identifier = (parenthesized_expression "(allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" ( (field_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (binary_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (binary_expression "allocator<char> *)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*)\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" * (ERROR ")" )) (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) (expression_statement "*(Output_section **)(__a + uVar52 * 8) = pOVar44;" (assignment_expression "*(Output_section **)(__a + uVar52 * 8) = pOVar44" (pointer_expression "*(Output_section **)(__a + uVar52 * 8)" * (cast_expression "(Output_section **)(__a + uVar52 * 8)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__a + uVar52 * 8)" ( (binary_expression "__a + uVar52 * 8" identifier + (binary_expression "uVar52 * 8" identifier * number_literal)) )))) = identifier) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n              super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n              _M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }))))) })) (expression_statement "local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4);" (assignment_expression "local_1a0 = (Shdr_data<64> *)((long)local_1a0 + 4)" identifier = (call_expression "(Shdr_data<64> *)((long)local_1a0 + 4)" (parenthesized_expression "(Shdr_data<64> *)" ( (binary_expression "Shdr_data<64> *" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((long)local_1a0 + 4)" ( (binary_expression "(long)local_1a0 + 4" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0)" ( (parenthesized_expression "(Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0)" ( (ERROR "Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "Shdr_data<64> *)\n                 reloc_sections.super__Vector_base<unsigned_int" (binary_expression "Shdr_data<64> *)\n                 reloc_sections.super__Vector_base" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)\n                 reloc_sections.super__Vector_base" * (ERROR ")" )) (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier))) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>.\n                 _M_impl._M_finish != local_1a0" (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) != identifier) )) )) ;) })))) (expression_statement "uVar57 = (uint)pSVar59;" (assignment_expression "uVar57 = (uint)pSVar59" identifier = (cast_expression "(uint)pSVar59" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar27) {\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n        if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }" { (if_statement "if ((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }" if (parenthesized_expression "((debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start))" ( (binary_expression "(debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start) ||\n           (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)" (parenthesized_expression "(debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_start)" ( (ERROR "debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n             _M_impl._M_finish !=\n             debug_info_sections.super__Vector_base<unsigned_int" (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) != (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>.\n             _M_impl._M_start" (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) )) || (parenthesized_expression "(debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)" ( (ERROR "debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_types_sections.super__Vector_base<unsigned_int" (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) != (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start" (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) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x7a0,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x7a0,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else {\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }" else (compound_statement "{\n        puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }\n        puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start;\n        if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }\n      }" { (ERROR "puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std::" (comma_expression "puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int,_std" (assignment_expression "puVar55 = debug_info_sections.\n                  super__Vector_base<unsigned_int" identifier = (binary_expression "debug_info_sections.\n                  super__Vector_base<unsigned_int" (field_expression "debug_info_sections.\n                  super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start;" (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) ;) (if_statement "if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start) {\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }" if (parenthesized_expression "(debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start)" ( (ERROR "debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n            _M_impl._M_finish !=\n            debug_info_sections.super__Vector_base<unsigned_int" (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) != (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start" (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) )) (compound_statement "{\n          do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);\n        }" { (do_statement "do {\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          } while (debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55);" do (compound_statement "{\n            uVar4 = *puVar55;\n            uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);\n                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar55 = puVar55 + 1;\n          }" { (expression_statement "uVar4 = *puVar55;" (assignment_expression "uVar4 = *puVar55" identifier = (pointer_expression "*puVar55" * identifier)) ;) (expression_statement "uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4);" (assignment_expression "uVar57 = *(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + (ulong)uVar4 * 4)" ( (binary_expression "(long)pvVar33 + (ulong)uVar4 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) comment (labeled_statement "Layout::add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));" statement_identifier : (ERROR ":" :) (expression_statement "add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4));" (comma_expression "add_to_gdb_index<64,_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" (binary_expression "add_to_gdb_index<64" identifier < number_literal) , (binary_expression "_false>\n                      (layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" identifier > (parenthesized_expression "(layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" ( (comma_expression "layout,false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (comma_expression "false,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" false , (comma_expression "&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (binary_expression "&this->super_Sized_relobj<64" (pointer_expression "&this->super_Sized_relobj" & (field_expression "this->super_Sized_relobj" identifier -> field_identifier)) < number_literal) , (comma_expression "_false>,(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (binary_expression "_false>" identifier > identifier) , (comma_expression "(uchar *)local_1f8,\n                       local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (cast_expression "(uchar *)local_1f8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "local_200,uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (comma_expression "uVar4,uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (comma_expression "uVar57,*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (pointer_expression "*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + (ulong)uVar4 * 4)" ( (binary_expression "(long)pvVar34 + (ulong)uVar4 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))))))))))) )))) ;)) (expression_statement "puVar55 = puVar55 + 1;" (assignment_expression "puVar55 = puVar55 + 1" identifier = (binary_expression "puVar55 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55)" ( (ERROR "debug_info_sections.\n                   super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.\n                   super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.\n                   super__Vector_base<unsigned_int" (field_expression "debug_info_sections.\n                   super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar55" (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 "puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std::" (comma_expression "puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int,_std" (assignment_expression "puVar56 = debug_types_sections.\n                  super__Vector_base<unsigned_int" identifier = (binary_expression "debug_types_sections.\n                  super__Vector_base<unsigned_int" (field_expression "debug_types_sections.\n                  super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start;" (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) ;) (if_statement "if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish) {\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }" if (parenthesized_expression "(debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_finish)" ( (ERROR "debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start !=\n            debug_types_sections.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>.\n            _M_impl._M_start" (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) != (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (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) )) (compound_statement "{\n          do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);\n        }" { (do_statement "do {\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          } while (debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56);" do (compound_statement "{\n            uVar4 = *puVar56;\n            uVar57 = 1;\n            Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));\n            puVar56 = puVar56 + 1;\n          }" { (expression_statement "uVar4 = *puVar56;" (assignment_expression "uVar4 = *puVar56" identifier = (pointer_expression "*puVar56" * identifier)) ;) (expression_statement "uVar57 = 1;" (assignment_expression "uVar57 = 1" identifier = number_literal) ;) (labeled_statement "Layout::add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));" statement_identifier : (ERROR ":" :) (expression_statement "add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4));" (comma_expression "add_to_gdb_index<64,_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" (binary_expression "add_to_gdb_index<64" identifier < number_literal) , (binary_expression "_false>\n                      (layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" identifier > (parenthesized_expression "(layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4))" ( (comma_expression "layout,true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (comma_expression "true,&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" true , (comma_expression "&this->super_Sized_relobj<64,_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (binary_expression "&this->super_Sized_relobj<64" (pointer_expression "&this->super_Sized_relobj" & (field_expression "this->super_Sized_relobj" identifier -> field_identifier)) < number_literal) , (comma_expression "_false>,(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (binary_expression "_false>" identifier > identifier) , (comma_expression "(uchar *)local_1f8,local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (cast_expression "(uchar *)local_1f8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "local_200\n                       ,uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (comma_expression "uVar4,*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" identifier , (comma_expression "*(uint *)((long)pvVar33 + (ulong)uVar4 * 4),\n                       *(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" (pointer_expression "*(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)((long)pvVar33 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + (ulong)uVar4 * 4)" ( (binary_expression "(long)pvVar33 + (ulong)uVar4 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) , (pointer_expression "*(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" * (cast_expression "(uint *)((long)pvVar34 + (ulong)uVar4 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + (ulong)uVar4 * 4)" ( (binary_expression "(long)pvVar34 + (ulong)uVar4 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar4 * 4" (cast_expression "(ulong)uVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))))))))))) )))) ;)) (expression_statement "puVar56 = puVar56 + 1;" (assignment_expression "puVar56 = puVar56 + 1" identifier = (binary_expression "puVar56 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56)" ( (ERROR "debug_types_sections.\n                   super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.\n                   super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.\n                   super__Vector_base<unsigned_int" (field_expression "debug_types_sections.\n                   super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl._M_finish\n                   != puVar56" (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) )) ;) })) }))) (if_statement "if (bVar26) {\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }\n      else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n        if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }\n        if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }\n        if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }\n        if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }\n        (this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;\n      }" { (if_statement "if (local_240->section_headers_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_headers_data);\n        }" if (parenthesized_expression "(local_240->section_headers_data != (uchar *)0x0)" ( (binary_expression "local_240->section_headers_data != (uchar *)0x0" (field_expression "local_240->section_headers_data" identifier -> field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          operator_delete__(local_240->section_headers_data);\n        }" { (expression_statement "operator_delete__(local_240->section_headers_data);" (call_expression "operator_delete__(local_240->section_headers_data)" identifier (argument_list "(local_240->section_headers_data)" ( (field_expression "local_240->section_headers_data" identifier -> field_identifier) ))) ;) })) (if_statement "if (local_240->section_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->section_names_data);\n        }" if (parenthesized_expression "(local_240->section_names_data != (uchar *)0x0)" ( (binary_expression "local_240->section_names_data != (uchar *)0x0" (field_expression "local_240->section_names_data" identifier -> field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          operator_delete__(local_240->section_names_data);\n        }" { (expression_statement "operator_delete__(local_240->section_names_data);" (call_expression "operator_delete__(local_240->section_names_data)" identifier (argument_list "(local_240->section_names_data)" ( (field_expression "local_240->section_names_data" identifier -> field_identifier) ))) ;) })) (if_statement "if (local_240->symbols_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbols_data);\n        }" if (parenthesized_expression "(local_240->symbols_data != (uchar *)0x0)" ( (binary_expression "local_240->symbols_data != (uchar *)0x0" (field_expression "local_240->symbols_data" identifier -> field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          operator_delete__(local_240->symbols_data);\n        }" { (expression_statement "operator_delete__(local_240->symbols_data);" (call_expression "operator_delete__(local_240->symbols_data)" identifier (argument_list "(local_240->symbols_data)" ( (field_expression "local_240->symbols_data" identifier -> field_identifier) ))) ;) })) (if_statement "if (local_240->symbol_names_data != (uchar *)0x0) {\n          operator_delete__(local_240->symbol_names_data);\n        }" if (parenthesized_expression "(local_240->symbol_names_data != (uchar *)0x0)" ( (binary_expression "local_240->symbol_names_data != (uchar *)0x0" (field_expression "local_240->symbol_names_data" identifier -> field_identifier) != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          operator_delete__(local_240->symbol_names_data);\n        }" { (expression_statement "operator_delete__(local_240->symbol_names_data);" (call_expression "operator_delete__(local_240->symbol_names_data)" identifier (argument_list "(local_240->symbol_names_data)" ( (field_expression "local_240->symbol_names_data" identifier -> field_identifier) ))) ;) })) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_ = (Symbols_data *)0x0" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.sd_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }" else (compound_statement "{\n        pFVar18 = sd->section_headers;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }\n        pFVar18 = sd->section_names;\n        sd->section_headers = (File_view *)0x0;\n        if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }\n        sd->section_names = (File_view *)0x0;\n      }" { (expression_statement "pFVar18 = sd->section_headers;" (assignment_expression "pFVar18 = sd->section_headers" identifier = (field_expression "sd->section_headers" identifier -> field_identifier)) ;) (if_statement "if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }" if (parenthesized_expression "(pFVar18 != (File_view *)0x0)" ( (binary_expression "pFVar18 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          File_view::~File_view(pFVar18,uVar57);\n          uVar57 = 0x18;\n          operator_delete(pFVar18,0x18);\n        }" { (labeled_statement "File_view::~File_view(pFVar18,uVar57);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar18,uVar57);" (unary_expression "~File_view(pFVar18,uVar57)" ~ (call_expression "File_view(pFVar18,uVar57)" identifier (argument_list "(pFVar18,uVar57)" ( identifier , identifier )))) ;)) (expression_statement "uVar57 = 0x18;" (assignment_expression "uVar57 = 0x18" identifier = number_literal) ;) (expression_statement "operator_delete(pFVar18,0x18);" (call_expression "operator_delete(pFVar18,0x18)" identifier (argument_list "(pFVar18,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "pFVar18 = sd->section_names;" (assignment_expression "pFVar18 = sd->section_names" identifier = (field_expression "sd->section_names" identifier -> field_identifier)) ;) (expression_statement "sd->section_headers = (File_view *)0x0;" (assignment_expression "sd->section_headers = (File_view *)0x0" (field_expression "sd->section_headers" identifier -> field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pFVar18 != (File_view *)0x0) {\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }" if (parenthesized_expression "(pFVar18 != (File_view *)0x0)" ( (binary_expression "pFVar18 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          File_view::~File_view(pFVar18,uVar57);\n          operator_delete(pFVar18,0x18);\n        }" { (labeled_statement "File_view::~File_view(pFVar18,uVar57);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar18,uVar57);" (unary_expression "~File_view(pFVar18,uVar57)" ~ (call_expression "File_view(pFVar18,uVar57)" identifier (argument_list "(pFVar18,uVar57)" ( identifier , identifier )))) ;)) (expression_statement "operator_delete(pFVar18,0x18);" (call_expression "operator_delete(pFVar18,0x18)" identifier (argument_list "(pFVar18,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "sd->section_names = (File_view *)0x0;" (assignment_expression "sd->section_names = (File_view *)0x0" (field_expression "sd->section_names" identifier -> field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" if (parenthesized_expression "(debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0)" ( (ERROR "debug_types_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_types_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_types_sections.super__Vector_base<unsigned_int" (field_expression "debug_types_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0" (field_expression "allocator<unsigned_int>_>.\n          _M_impl._M_start" (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) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" { (expression_statement "operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);" (call_expression "operator_delete(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" identifier (argument_list "(debug_types_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" ( (binary_expression "debug_types_sections.\n                        super__Vector_base<unsigned_int" (field_expression "debug_types_sections.\n                        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) ))) ;) })) (if_statement "if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0) {\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" if (parenthesized_expression "(debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0)" ( (ERROR "debug_info_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "debug_info_sections.super__Vector_base<unsigned_int,_std" (binary_expression "debug_info_sections.super__Vector_base<unsigned_int" (field_expression "debug_info_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>.\n          _M_impl._M_start != (pointer)0x0" (field_expression "allocator<unsigned_int>_>.\n          _M_impl._M_start" (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) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" { (expression_statement "operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);" (call_expression "operator_delete(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" identifier (argument_list "(debug_info_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" ( (binary_expression "debug_info_sections.\n                        super__Vector_base<unsigned_int" (field_expression "debug_info_sections.\n                        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) ))) ;) })) (if_statement "if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" if (parenthesized_expression "(eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0)" ( (ERROR "eh_frame_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "eh_frame_sections.super__Vector_base<unsigned_int,_std" (binary_expression "eh_frame_sections.super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0" (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) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" { (expression_statement "operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);" (call_expression "operator_delete(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" identifier (argument_list "(eh_frame_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" ( (binary_expression "eh_frame_sections.\n                        super__Vector_base<unsigned_int" (field_expression "eh_frame_sections.\n                        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) ))) ;) })) (if_statement "if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0) {\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" if (parenthesized_expression "(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0)" ( (ERROR "reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl.\n          _M_start != (pointer)0x0" (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) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);\n      }" { (expression_statement "operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start);" (call_expression "operator_delete(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" identifier (argument_list "(reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_start)" ( (binary_expression "reloc_sections.\n                        super__Vector_base<unsigned_int" (field_expression "reloc_sections.\n                        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 "std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);" statement_identifier (ERROR "::_Bvector_base<std::allocator<bool>_>:" : : (binary_expression "_Bvector_base<std" identifier < identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > :) : (expression_statement "_M_deallocate(local_270);" (call_expression "_M_deallocate(local_270)" identifier (argument_list "(local_270)" ( identifier ))) ;)) (expression_statement "operator_delete(pvVar34);" (call_expression "operator_delete(pvVar34)" identifier (argument_list "(pvVar34)" ( identifier ))) ;) (expression_statement "operator_delete(pvVar33);" (call_expression "operator_delete(pvVar33)" identifier (argument_list "(pvVar33)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar64 = *(uint *)(local_1f0 + 0x44);" (assignment_expression "uVar64 = *(uint *)(local_1f0 + 0x44)" identifier = (pointer_expression "*(uint *)(local_1f0 + 0x44)" * (cast_expression "(uint *)(local_1f0 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x44)" ( (binary_expression "local_1f0 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "uVar52 = (ulong)*(uint *)(local_1f0 + 0x40);" (assignment_expression "uVar52 = (ulong)*(uint *)(local_1f0 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(local_1f0 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(local_1f0 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x40)" ( (binary_expression "local_1f0 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "shdr.p_ = pSVar54;" (assignment_expression "shdr.p_ = pSVar54" (field_expression "shdr.p_" identifier . field_identifier) = identifier) ;) (if_statement "if (uVar52 < local_1c8) {\n      __a = (allocator<char> *)0x1;\n      local_238 = 0;\n      do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n  }" if (parenthesized_expression "(uVar52 < local_1c8)" ( (binary_expression "uVar52 < local_1c8" identifier < identifier) )) (compound_statement "{\n      __a = (allocator<char> *)0x1;\n      local_238 = 0;\n      do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);\n  }" { (expression_statement "__a = (allocator<char> *)0x1;" (assignment_expression "__a = (allocator<char> *)0x1" identifier = (parenthesized_expression "(allocator<char> *)0x1" ( (binary_expression "allocator<char> *)0x1" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (ERROR "do {\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }\n    uVar57 = i;\n    local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n    pcVar41 = (char *)gettext("bad section name offset for section %u: %lu");\n    Object::error((Object *)this,pcVar41,uVar57,uVar52);\n    if (debug_types_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl\n        ._M_start != (pointer)0x0) {\n      operator_delete(debug_types_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (debug_info_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(debug_info_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (eh_frame_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(eh_frame_sections.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                      ._M_impl._M_start);\n    }\n    std::_Bvector_base<std::allocator<bool>_>::_M_deallocate(local_270);" do (compound_statement "{\n        local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);\n        shdr.p_ = pSVar54;\n        if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      } while (uVar52 < local_1c8);\n    }" { (expression_statement "local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52);" (binary_expression "local_270 = &omit.super__Bvector_base<std::allocator<bool>_>;\n        name = (byte *)((long)&local_1c0->section_headers + uVar52)" (binary_expression "local_270 = &omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "local_270 = &omit.super__Bvector_base<std::allocator<bool" (assignment_expression "local_270 = &omit.super__Bvector_base<std" identifier = (binary_expression "&omit.super__Bvector_base<std" (pointer_expression "&omit.super__Bvector_base" & (field_expression "omit.super__Bvector_base" identifier . field_identifier)) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) > (ERROR ";" ;) (assignment_expression "name = (byte *)((long)&local_1c0->section_headers + uVar52)" identifier = (cast_expression "(byte *)((long)&local_1c0->section_headers + uVar52)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_1c0->section_headers + uVar52)" ( (binary_expression "(long)&local_1c0->section_headers + uVar52" (cast_expression "(long)&local_1c0->section_headers" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_1c0->section_headers" & (field_expression "local_1c0->section_headers" identifier -> field_identifier))) + identifier) ))))) ;) (expression_statement "shdr.p_ = pSVar54;" (assignment_expression "shdr.p_ = pSVar54" (field_expression "shdr.p_" identifier . field_identifier) = identifier) ;) (if_statement "if (bVar26) {\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\nLAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }\nLAB_001daa92:\n        i = i + 1;\n        __a = (allocator<char> *)(ulong)i;\n        pSVar67 = pSVar54 + 1;\n        if (uVar57 <= i) goto LAB_001da530;\n        uVar52 = (ulong)pSVar67->sh_name;\n        uVar64 = pSVar54[1].sh_type;\n        pSVar54 = pSVar67;\n        shdr.p_ = pSVar67;\n      }" { (labeled_statement "LAB_001da9c0:\n          if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }" statement_identifier : (if_statement "if (bVar27) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }\n        else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }\n          if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }\n        }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((parameters->options_->gc_sections_).value != false) {\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }" if (parenthesized_expression "((parameters->options_->gc_sections_).value != false)" ( (binary_expression "(parameters->options_->gc_sections_).value != false" (field_expression "(parameters->options_->gc_sections_).value" (parenthesized_expression "(parameters->options_->gc_sections_)" ( (field_expression "parameters->options_->gc_sections_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n              bVar31 = Relobj::is_section_name_included((Relobj *)this,(char *)name);\n                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */\n              if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }\n              sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar63 = i;\n              if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }\n          }" { (ERROR "bVar31 = Relobj::" (assignment_expression "bVar31 = Relobj" identifier = identifier) : :) (expression_statement "is_section_name_included((Relobj *)this,(char *)name);" (call_expression "is_section_name_included((Relobj *)this,(char *)name)" identifier (argument_list "((Relobj *)this,(char *)name)" ( (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) comment (if_statement "if (((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)) {\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }" if (parenthesized_expression "(((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2))" ( (binary_expression "((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))\n                 || (uVar64 - 0xe < 2)" (parenthesized_expression "((bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31))" ( (binary_expression "(bVar31) ||\n                  (bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31)" (parenthesized_expression "(bVar31)" ( identifier )) || (parenthesized_expression "(bVar31 = Layout::keep_input_section(layout,(Relobj *)this,(char *)name), bVar31)" ( (ERROR "bVar31 = Layout::" (assignment_expression "bVar31 = Layout" identifier = identifier) : :) (comma_expression "keep_input_section(layout,(Relobj *)this,(char *)name), bVar31" (call_expression "keep_input_section(layout,(Relobj *)this,(char *)name)" identifier (argument_list "(layout,(Relobj *)this,(char *)name)" ( identifier , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) , identifier) ))) )) || (parenthesized_expression "(uVar64 - 0xe < 2)" ( (binary_expression "uVar64 - 0xe < 2" (binary_expression "uVar64 - 0xe" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n                local_a0 = i;\n                offset = (off_t)this;\n                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */\n                std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);\n              }" { (expression_statement "local_a0 = i;" (assignment_expression "local_a0 = i" identifier = identifier) ;) (expression_statement "offset = (off_t)this;" (assignment_expression "offset = (off_t)this" identifier = (cast_expression "(off_t)this" ( (type_descriptor "off_t" type_identifier) ) identifier)) ;) comment (ERROR "std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std::pair<gold::" (comma_expression "std::\n                vector<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                vector<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "vector<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>_>\n                ::emplace_back<std" (binary_expression "Relobj*,_unsigned_int>_>_>\n                ::emplace_back" (binary_expression "Relobj*,_unsigned_int>_>_" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "pair<gold" identifier < identifier) : :) (expression_statement "Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset);" (binary_expression "Relobj*,_unsigned_int>_>\n                          (&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset)" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (parenthesized_expression "(&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset)" ( (comma_expression "&symtab->gc_->work_list_,(pair<gold::Relobj*,_unsigned_int> *)&offset" (pointer_expression "&symtab->gc_->work_list_" & (field_expression "symtab->gc_->work_list_" (field_expression "symtab->gc_" identifier -> field_identifier) -> field_identifier)) , (binary_expression "(pair<gold::Relobj*,_unsigned_int> *)&offset" (parenthesized_expression "(pair<gold::Relobj*,_unsigned_int> *)" ( (binary_expression "pair<gold::Relobj*,_unsigned_int> *" (binary_expression "pair<gold::Relobj*,_unsigned_int" (binary_expression "pair<gold" identifier < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ))) ;) })) (expression_statement "sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");" (assignment_expression "sVar35 = strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" identifier = (call_expression "strspn((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" identifier (argument_list "((char *)name,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" ( (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"" " string_content ") )))) ;) (expression_statement "uVar63 = i;" (assignment_expression "uVar63 = i" identifier = identifier) ;) (if_statement "if (name[sVar35] == 0) {\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }" if (parenthesized_expression "(name[sVar35] == 0)" ( (binary_expression "name[sVar35] == 0" (subscript_expression "name[sVar35]" identifier [ identifier ]) == number_literal) )) (compound_statement "{\n                pGVar11 = symtab->gc_;\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_00);\n                oVar30 = offset;\n                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;\n                __pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;\n                shdr_2.p_ = (Shdr_data<64> *)this;\n                if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }\n            }" { (expression_statement "pGVar11 = symtab->gc_;" (assignment_expression "pGVar11 = symtab->gc_" identifier = (field_expression "symtab->gc_" identifier -> field_identifier)) ;) (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((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) > : : identifier ( ( (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                             &offset,(char *)name,__a_00);" (comma_expression "allocator<char>_> *)\n                             &offset,(char *)name,__a_00" (binary_expression "allocator<char>_> *)\n                             &offset" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                             &offset" * (ERROR ")" )) (pointer_expression "&offset" & identifier))) , (comma_expression "(char *)name,__a_00" (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier)) (ERROR ")" )) ;) (expression_statement "oVar30 = offset;" (assignment_expression "oVar30 = offset" identifier = identifier) ;) (expression_statement "p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent;" (assignment_expression "p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent" identifier = (field_expression "(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                          _M_parent" (field_expression "(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar11->cident_sections_)._M_t._M_impl" (field_expression "(pGVar11->cident_sections_)._M_t" (parenthesized_expression "(pGVar11->cident_sections_)" ( (field_expression "pGVar11->cident_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "__pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;" (assignment_expression "__pos._M_node =\n                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "__pos._M_node" identifier . field_identifier) = (pointer_expression "&(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header" & (field_expression "(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pGVar11->cident_sections_)._M_t._M_impl" (field_expression "(pGVar11->cident_sections_)._M_t" (parenthesized_expression "(pGVar11->cident_sections_)" ( (field_expression "pGVar11->cident_sections_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "shdr_2.p_ = (Shdr_data<64> *)this;" (assignment_expression "shdr_2.p_ = (Shdr_data<64> *)this" (field_expression "shdr_2.p_" identifier . field_identifier) = (parenthesized_expression "(Shdr_data<64> *)this" ( (binary_expression "Shdr_data<64> *)this" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)this" * (ERROR ")" )) identifier)) ))) ;) (if_statement "if (p_Var12 == (_Base_ptr)0x0) {\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }" if (parenthesized_expression "(p_Var12 == (_Base_ptr)0x0)" ( (binary_expression "p_Var12 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;\n                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */\n                  local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;\n                uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;\n                p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);\n                if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n              }" { (labeled_statement "LAB_001db58d:\n                  local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;" statement_identifier : (expression_statement "local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset;" (assignment_expression "local_180._M_head_impl =\n                       (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset" (field_expression "local_180._M_head_impl" identifier . field_identifier) = (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&offset" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ;)) comment (expression_statement "local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this;" (assignment_expression "local_1a0 = (Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this" identifier = (parenthesized_expression "(Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this" ( (ERROR "Shdr_data<64> *)\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>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>,_std::_Select1st<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>,_std::less<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::allocator<std::pair<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::unordered_set<std::pair<gold::Relobj*,_unsigned_int>,_gold::Section_id_hash,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,_std::tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>,_std::" (comma_expression "Shdr_data<64> *)\n                              std::\n                              _Rb_tree<std::__cxx11::basic_string<char,_std" (binary_expression "Shdr_data<64> *)\n                              std::\n                              _Rb_tree<std::__cxx11::basic_string<char" (binary_expression "Shdr_data<64> *)\n                              std::\n                              _Rb_tree<std" (binary_expression "Shdr_data<64> *)\n                              std" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)\n                              std" * (ERROR ")" )) identifier)) (ERROR "::\n                              _Rb_tree" : : identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "_Select1st<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>,_std" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "less<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "unordered_set<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique<const_std" (binary_expression "_unsigned_int>_>_>_>_>_>\n                              ::\n                              _M_emplace_hint_unique" (binary_expression "_unsigned_int>_>_>_>_>_" (binary_expression "_unsigned_int>_>_>_>_" (binary_expression "_unsigned_int>_>_>_" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (binary_expression "piecewise_construct_t&,_std" identifier & (ERROR "," ,) identifier) : : (binary_expression "tuple<const_std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>&>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "&>,_std" & (ERROR ">," > ,) identifier)) : :) (binary_expression "tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)uVar63 ^ (ulong)this" (binary_expression "tuple<>_>\n                                        (&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)" (binary_expression "tuple<>_" identifier < (ERROR ">" >) identifier) > (parenthesized_expression "(&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else {\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar66 = (ulong)" ( (ERROR "&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std::piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d);\n                }\n                else" (comma_expression "&(pGVar11->cident_sections_)._M_t,__pos,\n                                         (piecewise_construct_t *)&std" (pointer_expression "&(pGVar11->cident_sections_)._M_t" & (field_expression "(pGVar11->cident_sections_)._M_t" (parenthesized_expression "(pGVar11->cident_sections_)" ( (field_expression "pGVar11->cident_sections_" identifier -> field_identifier) )) . field_identifier)) , (comma_expression "__pos,\n                                         (piecewise_construct_t *)&std" identifier , (cast_expression "(piecewise_construct_t *)&std" ( (type_descriptor "piecewise_construct_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&std" & identifier)))) : : (comma_expression "piecewise_construct,\n                                         (tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d)" identifier , (parenthesized_expression "(tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                                          *)&local_180,&local_18d)" ( (ERROR "tuple<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "tuple<const_std::__cxx11::basic_string<char,_std" (binary_expression "tuple<const_std::__cxx11::basic_string<char" (binary_expression "tuple<const_std" identifier < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (comma_expression "allocator<char>_>&>\n                                          *)&local_180,&local_18d" (binary_expression "allocator<char>_>&>\n                                          *)&local_180" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "&>\n                                          *)&local_180" & (ERROR ">" >) (pointer_expression "*)&local_180" * (ERROR ")" )) (pointer_expression "&local_180" & identifier)))) , (pointer_expression "&local_18d" & identifier)) ))) ; } else) (compound_statement "{\n                  p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);\n                  local_1a0 = (Shdr_data<64> *)__pos._M_node;\n                  do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);\nLAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;\n                  __pos._M_node = (_Base_ptr)local_1a0;\n                  if (bVar31) goto LAB_001db58d;\n                  p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;\n                  p_Var50 = p_Var49;\n                  if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }\n                  if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }\n                }" { (expression_statement "p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0);" (assignment_expression "p_Var10 = (_Base_ptr)CONCAT44(uStack_9c,local_a0)" identifier = (cast_expression "(_Base_ptr)CONCAT44(uStack_9c,local_a0)" ( (type_descriptor "_Base_ptr" type_identifier) ) (call_expression "CONCAT44(uStack_9c,local_a0)" identifier (argument_list "(uStack_9c,local_a0)" ( identifier , identifier ))))) ;) (expression_statement "local_1a0 = (Shdr_data<64> *)__pos._M_node;" (assignment_expression "local_1a0 = (Shdr_data<64> *)__pos._M_node" identifier = (parenthesized_expression "(Shdr_data<64> *)__pos._M_node" ( (binary_expression "Shdr_data<64> *)__pos._M_node" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)__pos._M_node" * (ERROR ")" )) (field_expression "__pos._M_node" identifier . field_identifier))) ))) ;) (do_statement "do {\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  } while (p_Var65->_M_right != (_Base_ptr)0x0);" do (compound_statement "{\n                    while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar32) goto LAB_001db4fa;\nLAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;\n                  }" { (while_statement "while( true ) {\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      p_Var65 = p_Var12;\n                      p_Var49 = p_Var65[1]._M_parent;\n                      p_Var50 = p_Var10;\n                      if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }\n                      if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;\n                      lVar48 = (long)p_Var49 - (long)p_Var10;\n                      if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;\n                      local_1a0 = (Shdr_data<64> *)p_Var65;\n                      if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;\n                    }" { (expression_statement "p_Var65 = p_Var12;" (assignment_expression "p_Var65 = p_Var12" identifier = identifier) ;) (expression_statement "p_Var49 = p_Var65[1]._M_parent;" (assignment_expression "p_Var49 = p_Var65[1]._M_parent" identifier = (field_expression "p_Var65[1]._M_parent" (subscript_expression "p_Var65[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var50 = p_Var10;" (assignment_expression "p_Var50 = p_Var10" identifier = identifier) ;) (if_statement "if (p_Var49 <= p_Var10) {\n                        p_Var50 = p_Var49;\n                      }" if (parenthesized_expression "(p_Var49 <= p_Var10)" ( (binary_expression "p_Var49 <= p_Var10" identifier <= identifier) )) (compound_statement "{\n                        p_Var50 = p_Var49;\n                      }" { (expression_statement "p_Var50 = p_Var49;" (assignment_expression "p_Var50 = p_Var49" identifier = identifier) ;) })) (if_statement "if ((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)) break;" if (parenthesized_expression "((p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0))" ( (binary_expression "(p_Var50 != (_Base_ptr)0x0) &&\n                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)" (parenthesized_expression "(p_Var50 != (_Base_ptr)0x0)" ( (binary_expression "p_Var50 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) && (parenthesized_expression "(iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0)" ( (comma_expression "iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),\n                         iVar32 != 0" (assignment_expression "iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50)" identifier = (call_expression "memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50)" identifier (argument_list "(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50)" ( (pointer_expression "*(void **)(p_Var65 + 1)" * (cast_expression "(void **)(p_Var65 + 1)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(p_Var65 + 1)" ( (binary_expression "p_Var65 + 1" identifier + number_literal) )))) , (cast_expression "(void *)oVar30" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(size_t)p_Var50" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) , (binary_expression "iVar32 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = (long)p_Var49 - (long)p_Var10;" (assignment_expression "lVar48 = (long)p_Var49 - (long)p_Var10" identifier = (binary_expression "(long)p_Var49 - (long)p_Var10" (cast_expression "(long)p_Var49" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)p_Var10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (lVar48 < 0x80000000) {\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" if (parenthesized_expression "(lVar48 < 0x80000000)" ( (binary_expression "lVar48 < 0x80000000" identifier < number_literal) )) (compound_statement "{\n                        if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" { (if_statement "if (-0x80000001 < lVar48) {\n                          iVar32 = (int)lVar48;\n                          break;\n                        }" if (parenthesized_expression "(-0x80000001 < lVar48)" ( (binary_expression "-0x80000001 < lVar48" number_literal < identifier) )) (compound_statement "{\n                          iVar32 = (int)lVar48;\n                          break;\n                        }" { (expression_statement "iVar32 = (int)lVar48;" (assignment_expression "iVar32 = (int)lVar48" identifier = (cast_expression "(int)lVar48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (break_statement "break;" break ;) })) (goto_statement "goto LAB_001db4b0;" goto statement_identifier ;) })) (labeled_statement "LAB_001db4fa:\n                      p_Var12 = p_Var65->_M_left;" statement_identifier : (expression_statement "p_Var12 = p_Var65->_M_left;" (assignment_expression "p_Var12 = p_Var65->_M_left" identifier = (field_expression "p_Var65->_M_left" identifier -> field_identifier)) ;)) (expression_statement "local_1a0 = (Shdr_data<64> *)p_Var65;" (assignment_expression "local_1a0 = (Shdr_data<64> *)p_Var65" identifier = (parenthesized_expression "(Shdr_data<64> *)p_Var65" ( (binary_expression "Shdr_data<64> *)p_Var65" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)p_Var65" * (ERROR ")" )) identifier)) ))) ;) (if_statement "if (p_Var65->_M_left == (_Base_ptr)0x0) goto LAB_001db50a;" if (parenthesized_expression "(p_Var65->_M_left == (_Base_ptr)0x0)" ( (binary_expression "p_Var65->_M_left == (_Base_ptr)0x0" (field_expression "p_Var65->_M_left" identifier -> field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001db50a;" goto statement_identifier ;)) })) (if_statement "if (-1 < iVar32) goto LAB_001db4fa;" if (parenthesized_expression "(-1 < iVar32)" ( (binary_expression "-1 < iVar32" number_literal < identifier) )) (goto_statement "goto LAB_001db4fa;" goto statement_identifier ;)) (labeled_statement "LAB_001db4b0:\n                    p_Var12 = p_Var65->_M_right;" statement_identifier : (expression_statement "p_Var12 = p_Var65->_M_right;" (assignment_expression "p_Var12 = p_Var65->_M_right" identifier = (field_expression "p_Var65->_M_right" identifier -> field_identifier)) ;)) }) while (parenthesized_expression "(p_Var65->_M_right != (_Base_ptr)0x0)" ( (binary_expression "p_Var65->_M_right != (_Base_ptr)0x0" (field_expression "p_Var65->_M_right" identifier -> field_identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_001db50a:\n                  bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;" statement_identifier : (expression_statement "bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0;" (assignment_expression "bVar31 = (Shdr_data<64> *)__pos._M_node == local_1a0" identifier = (parenthesized_expression "(Shdr_data<64> *)__pos._M_node == local_1a0" ( (binary_expression "Shdr_data<64> *)__pos._M_node == local_1a0" (binary_expression "Shdr_data<64> *)__pos._M_node" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)__pos._M_node" * (ERROR ")" )) (field_expression "__pos._M_node" identifier . field_identifier))) == identifier) ))) ;)) (expression_statement "__pos._M_node = (_Base_ptr)local_1a0;" (assignment_expression "__pos._M_node = (_Base_ptr)local_1a0" (field_expression "__pos._M_node" identifier . field_identifier) = (cast_expression "(_Base_ptr)local_1a0" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (if_statement "if (bVar31) goto LAB_001db58d;" if (parenthesized_expression "(bVar31)" ( identifier )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;)) (expression_statement "p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent;" (assignment_expression "p_Var49 = ((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent" identifier = (field_expression "((_Base_ptr)((long)local_1a0 + 0x20))->_M_parent" (parenthesized_expression "((_Base_ptr)((long)local_1a0 + 0x20))" ( (call_expression "(_Base_ptr)((long)local_1a0 + 0x20)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((long)local_1a0 + 0x20)" ( (binary_expression "(long)local_1a0 + 0x20" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier)) ;) (expression_statement "p_Var50 = p_Var49;" (assignment_expression "p_Var50 = p_Var49" identifier = identifier) ;) (if_statement "if (p_Var10 <= p_Var49) {\n                    p_Var50 = p_Var10;\n                  }" if (parenthesized_expression "(p_Var10 <= p_Var49)" ( (binary_expression "p_Var10 <= p_Var49" identifier <= identifier) )) (compound_statement "{\n                    p_Var50 = p_Var10;\n                  }" { (expression_statement "p_Var50 = p_Var10;" (assignment_expression "p_Var50 = p_Var10" identifier = identifier) ;) })) (if_statement "if ((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)) {\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }" if (parenthesized_expression "((p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0))" ( (binary_expression "(p_Var50 == (_Base_ptr)0x0) ||\n                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)" (parenthesized_expression "(p_Var50 == (_Base_ptr)0x0)" ( (binary_expression "p_Var50 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) || (parenthesized_expression "(iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0)" ( (comma_expression "iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50), iVar32 == 0" (assignment_expression "iVar32 = memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50)" identifier = (call_expression "memcmp((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50)" identifier (argument_list "((void *)oVar30,*(void **)((long)local_1a0 + 0x20),\n                                      (size_t)p_Var50)" ( (cast_expression "(void *)oVar30" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "*(void **)((long)local_1a0 + 0x20)" * (cast_expression "(void **)((long)local_1a0 + 0x20)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)local_1a0 + 0x20)" ( (binary_expression "(long)local_1a0 + 0x20" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (cast_expression "(size_t)p_Var50" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) , (binary_expression "iVar32 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    lVar48 = (long)p_Var10 - (long)p_Var49;\n                    if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }\n                  }" { (expression_statement "lVar48 = (long)p_Var10 - (long)p_Var49;" (assignment_expression "lVar48 = (long)p_Var10 - (long)p_Var49" identifier = (binary_expression "(long)p_Var10 - (long)p_Var49" (cast_expression "(long)p_Var10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)p_Var49" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if (lVar48 < 0x80000000) {\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }" if (parenthesized_expression "(lVar48 < 0x80000000)" ( (binary_expression "lVar48 < 0x80000000" identifier < number_literal) )) (compound_statement "{\n                      if (lVar48 < -0x80000000) goto LAB_001db58d;\n                      iVar32 = (int)lVar48;\n                      goto LAB_001db589;\n                    }" { (if_statement "if (lVar48 < -0x80000000) goto LAB_001db58d;" if (parenthesized_expression "(lVar48 < -0x80000000)" ( (binary_expression "lVar48 < -0x80000000" identifier < number_literal) )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;)) (expression_statement "iVar32 = (int)lVar48;" (assignment_expression "iVar32 = (int)lVar48" identifier = (cast_expression "(int)lVar48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_001db589;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }" else (compound_statement "{\nLAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;\n                  }" { (labeled_statement "LAB_001db589:\n                    if (iVar32 < 0) goto LAB_001db58d;" statement_identifier : (if_statement "if (iVar32 < 0) goto LAB_001db58d;" if (parenthesized_expression "(iVar32 < 0)" ( (binary_expression "iVar32 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;))) }))) }) (ERROR "uVar66 = (ulong" identifier = ( identifier) ))) (ERROR "uVar63" identifier) ^ (cast_expression "(ulong)this" ( (type_descriptor "ulong" type_identifier) ) identifier)) ))) ;) (expression_statement "uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent;" (assignment_expression "uVar52 = uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent" identifier = (binary_expression "uVar66 % (ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent" identifier % (field_expression "(ulong)((_Base_ptr)((long)local_1a0 + 0x40))->_M_parent" (call_expression "(ulong)((_Base_ptr)((long)local_1a0 + 0x40))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((_Base_ptr)((long)local_1a0 + 0x40))" ( (call_expression "(_Base_ptr)((long)local_1a0 + 0x40)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "((long)local_1a0 + 0x40)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) ))) -> field_identifier))) ;) (ERROR "p_Var39 = std::\n                          _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "p_Var39 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66)" identifier , (binary_expression "_true>_>\n                          ::_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                                    ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40),uVar52,(key_type *)&shdr_2,uVar66)" ( (call_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)((long)local_1a0 + 0x40)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                      *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                                      *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                                      *" identifier , (binary_expression "_true>_>\n                                      *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) (argument_list "((long)local_1a0 + 0x40)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , identifier , (cast_expression "(key_type *)&shdr_2" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&shdr_2" & identifier)) , identifier )))))) ;))))) (if_statement "if ((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))\n                {\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }" if (parenthesized_expression "((p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var39 == (__node_base *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var39 == (__node_base *)0x0)" ( (binary_expression "p_Var39 == (__node_base *)0x0" identifier == (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(p_Var39->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var39->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var39->_M_nxt" identifier -> field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */\n                  __node = (__node_type *)operator_new(0x20);\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;\n                  (__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;\n                  *(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;\n                  std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);\n                }" { comment (expression_statement "__node = (__node_type *)operator_new(0x20);" (assignment_expression "__node = (__node_type *)operator_new(0x20)" identifier = (cast_expression "(__node_type *)operator_new(0x20)" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;" (assignment_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this" (field_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage.__align" (field_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage._M_storage" (field_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  _M_storage" (parenthesized_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>)" ( (binary_expression "__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>" (binary_expression "__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__node->super__Hash_node_value_base<std::pair<gold" (binary_expression "__node->super__Hash_node_value_base<std" (field_expression "__node->super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(anon_struct_8_0_00000001_for___align)this" ( (type_descriptor "anon_struct_8_0_00000001_for___align" type_identifier) ) identifier)) ;) (expression_statement "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0" (field_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base._M_nxt" (field_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>).\n                  super__Hash_node_base" (parenthesized_expression "(__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>)" ( (binary_expression "__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>" (binary_expression "__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "__node->super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__node->super__Hash_node_value_base<std::pair<gold" (binary_expression "__node->super__Hash_node_value_base<std" (field_expression "__node->super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63;" (assignment_expression "*(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8) = uVar63" (pointer_expression "*(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8)" * (cast_expression "(uint *)((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8)" ( (binary_expression "(long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage + 8" (cast_expression "(long)&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage" & (field_expression "(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage._M_storage" (field_expression "(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )._M_storage" (parenthesized_expression "(__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>\n                                   )" ( (binary_expression "__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_>" (binary_expression "__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "__node->\n                                   super__Hash_node_value_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "__node->\n                                   super__Hash_node_value_base<std::pair<gold" (binary_expression "__node->\n                                   super__Hash_node_value_base<std" (field_expression "__node->\n                                   super__Hash_node_value_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (ERROR "std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (comma_expression "std::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" identifier (ERROR "::\n                  _Hashtable<std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1)" identifier , (binary_expression "_true>_>\n                  ::_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_insert_unique_node\n                            ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40),uVar52,uVar66,__node,1)" ( (call_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)((long)local_1a0 + 0x40)" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                              *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                              *" identifier , (binary_expression "_true>_>\n                              *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) (argument_list "((long)local_1a0 + 0x40)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , identifier , identifier , identifier , number_literal )))))) ;))))) })) (if_statement "if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }" if (parenthesized_expression "((undefined1 *)offset != auStack_98)" ( (binary_expression "(undefined1 *)offset != auStack_98" (cast_expression "(undefined1 *)offset" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                  operator_delete((void *)offset);\n                }" { (expression_statement "operator_delete((void *)offset);" (call_expression "operator_delete((void *)offset)" identifier (argument_list "((void *)offset)" ( (cast_expression "(void *)offset" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) })) })) })) (if_statement "if ((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))) {\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }\n          else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }" if (parenthesized_expression "((cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4))))" ( (binary_expression "(cVar3 == '\0') || ((uVar64 != 9 && (uVar64 != 4)))" (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((uVar64 != 9 && (uVar64 != 4)))" ( (parenthesized_expression "(uVar64 != 9 && (uVar64 != 4))" ( (binary_expression "uVar64 != 9 && (uVar64 != 4)" (binary_expression "uVar64 != 9" identifier != number_literal) && (parenthesized_expression "(uVar64 != 4)" ( (binary_expression "uVar64 != 4" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n            if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }\n          }" { (if_statement "if ((uVar64 != 0x11) || (bVar69 == false)) {\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }" if (parenthesized_expression "((uVar64 != 0x11) || (bVar69 == false))" ( (binary_expression "(uVar64 != 0x11) || (bVar69 == false)" (parenthesized_expression "(uVar64 != 0x11)" ( (binary_expression "uVar64 != 0x11" identifier != number_literal) )) || (parenthesized_expression "(bVar69 == false)" ( (binary_expression "bVar69 == false" identifier == false) ))) )) (compound_statement "{\n              bVar31 = check_eh_frame_flags(this,&shdr);\n              uVar63 = i;\n              bVar68 = false;\n              bVar31 = !bVar31;\n              if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }\n            }" { (expression_statement "bVar31 = check_eh_frame_flags(this,&shdr);" (assignment_expression "bVar31 = check_eh_frame_flags(this,&shdr)" identifier = (call_expression "check_eh_frame_flags(this,&shdr)" identifier (argument_list "(this,&shdr)" ( identifier , (pointer_expression "&shdr" & identifier) )))) ;) (expression_statement "uVar63 = i;" (assignment_expression "uVar63 = i" identifier = identifier) ;) (expression_statement "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;) (expression_statement "bVar31 = !bVar31;" (assignment_expression "bVar31 = !bVar31" identifier = (unary_expression "!bVar31" ! identifier)) ;) (if_statement "if (!bVar31) {\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (compound_statement "{\n                lVar48 = 10;\n                pbVar58 = name;\n                pbVar60 = (byte *)".eh_frame";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);\n                if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" { (expression_statement "lVar48 = 10;" (assignment_expression "lVar48 = 10" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".eh_frame";" (assignment_expression "pbVar60 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar31);" do (compound_statement "{\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar31 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar68 = *pbVar58 < *pbVar60;" (assignment_expression "bVar68 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar31 = *pbVar58 == *pbVar60;" (assignment_expression "bVar31 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (if_statement "if (((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)) {\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" if (parenthesized_expression "(((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false))" ( (binary_expression "((!bVar68 && !bVar31) == bVar68) && (uVar64 = uVar4, bVar69 == false)" (parenthesized_expression "((!bVar68 && !bVar31) == bVar68)" ( (binary_expression "(!bVar68 && !bVar31) == bVar68" (parenthesized_expression "(!bVar68 && !bVar31)" ( (binary_expression "!bVar68 && !bVar31" (unary_expression "!bVar68" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier) )) && (parenthesized_expression "(uVar64 = uVar4, bVar69 == false)" ( (comma_expression "uVar64 = uVar4, bVar69 == false" (assignment_expression "uVar64 = uVar4" identifier = identifier) , (binary_expression "bVar69 == false" identifier == false)) ))) )) (compound_statement "{\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" { (if_statement "if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }\n                  else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;\n                  }" { (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1);" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i] =\n                         (Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1)" (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[i]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(Output_section *)((ulong)(this->is_deferred_layout_ != false) + 1)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(this->is_deferred_layout_ != false) + 1)" ( (binary_expression "(ulong)(this->is_deferred_layout_ != false) + 1" (call_expression "(ulong)(this->is_deferred_layout_ != false)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this->is_deferred_layout_ != false)" ( (binary_expression "this->is_deferred_layout_ != false" (field_expression "this->is_deferred_layout_" identifier -> field_identifier) != false) ))) + number_literal) )))) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[i]" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }) (else_clause "else if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }" else (if_statement "if (this->is_deferred_layout_ == false) {\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }\n                  else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }" if (parenthesized_expression "(this->is_deferred_layout_ == false)" ( (binary_expression "this->is_deferred_layout_ == false" (field_expression "this->is_deferred_layout_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);\n                  }" { (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                              (&eh_frame_sections,&i);" 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 "push_back\n                              (&eh_frame_sections,&i);" (call_expression "push_back\n                              (&eh_frame_sections,&i)" identifier (argument_list "(&eh_frame_sections,&i)" ( (pointer_expression "&eh_frame_sections" & identifier) , (pointer_expression "&i" & identifier) ))) ;)) }) (else_clause "else {\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }" else (compound_statement "{\n                    uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);\n                    uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);\n                    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                                    *)&offset,(char *)name,__a_01);\n                    auStack_98._16_4_ = uVar63;\n                    local_84._4_4_ = uVar61;\n                    local_84._0_4_ = uVar64;\n                    uVar23._0_4_ = pSVar54->sh_name;\n                    uVar23._4_4_ = pSVar54->sh_type;\n                    EStack_74 = pSVar54->sh_flags;\n                    local_6c = pSVar54->sh_addr;\n                    EStack_64 = pSVar54->sh_offset;\n                    local_5c = pSVar54->sh_size;\n                    uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                    local_4c = pSVar54->sh_addralign;\n                    EStack_44 = pSVar54->sh_entsize;\n                    local_7c = SUB84(uVar23,0);\n                    uStack_78 = uVar4;\n                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */\n                    std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                  }" { (expression_statement "uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4);" (assignment_expression "uVar64 = *(uint *)((long)pvVar33 + (ulong)i * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar33 + (ulong)i * 4)" * (cast_expression "(uint *)((long)pvVar33 + (ulong)i * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + (ulong)i * 4)" ( (binary_expression "(long)pvVar33 + (ulong)i * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)i * 4" (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4);" (assignment_expression "uVar61 = *(uint *)((long)pvVar34 + (ulong)i * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar34 + (ulong)i * 4)" * (cast_expression "(uint *)((long)pvVar34 + (ulong)i * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + (ulong)i * 4)" ( (binary_expression "(long)pvVar34 + (ulong)i * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)i * 4" (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>\n                    ::basic_string((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) > : : identifier ( ( (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                                    *)&offset,(char *)name,__a_01);" (comma_expression "allocator<char>_>\n                                    *)&offset,(char *)name,__a_01" (binary_expression "allocator<char>_>\n                                    *)&offset" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)&offset" * (ERROR ")" )) (pointer_expression "&offset" & identifier))) , (comma_expression "(char *)name,__a_01" (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier)) (ERROR ")" )) ;) (expression_statement "auStack_98._16_4_ = uVar63;" (assignment_expression "auStack_98._16_4_ = uVar63" (field_expression "auStack_98._16_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_84._4_4_ = uVar61;" (assignment_expression "local_84._4_4_ = uVar61" (field_expression "local_84._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_84._0_4_ = uVar64;" (assignment_expression "local_84._0_4_ = uVar64" (field_expression "local_84._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar23._0_4_ = pSVar54->sh_name;" (assignment_expression "uVar23._0_4_ = pSVar54->sh_name" (field_expression "uVar23._0_4_" identifier . field_identifier) = (field_expression "pSVar54->sh_name" identifier -> field_identifier)) ;) (expression_statement "uVar23._4_4_ = pSVar54->sh_type;" (assignment_expression "uVar23._4_4_ = pSVar54->sh_type" (field_expression "uVar23._4_4_" identifier . field_identifier) = (field_expression "pSVar54->sh_type" identifier -> field_identifier)) ;) (expression_statement "EStack_74 = pSVar54->sh_flags;" (assignment_expression "EStack_74 = pSVar54->sh_flags" identifier = (field_expression "pSVar54->sh_flags" identifier -> field_identifier)) ;) (expression_statement "local_6c = pSVar54->sh_addr;" (assignment_expression "local_6c = pSVar54->sh_addr" identifier = (field_expression "pSVar54->sh_addr" identifier -> field_identifier)) ;) (expression_statement "EStack_64 = pSVar54->sh_offset;" (assignment_expression "EStack_64 = pSVar54->sh_offset" identifier = (field_expression "pSVar54->sh_offset" identifier -> field_identifier)) ;) (expression_statement "local_5c = pSVar54->sh_size;" (assignment_expression "local_5c = pSVar54->sh_size" identifier = (field_expression "pSVar54->sh_size" identifier -> field_identifier)) ;) (expression_statement "uStack_54 = *(undefined8 *)&pSVar54->sh_link;" (assignment_expression "uStack_54 = *(undefined8 *)&pSVar54->sh_link" identifier = (pointer_expression "*(undefined8 *)&pSVar54->sh_link" * (cast_expression "(undefined8 *)&pSVar54->sh_link" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar54->sh_link" & (field_expression "pSVar54->sh_link" identifier -> field_identifier))))) ;) (expression_statement "local_4c = pSVar54->sh_addralign;" (assignment_expression "local_4c = pSVar54->sh_addralign" identifier = (field_expression "pSVar54->sh_addralign" identifier -> field_identifier)) ;) (expression_statement "EStack_44 = pSVar54->sh_entsize;" (assignment_expression "EStack_44 = pSVar54->sh_entsize" identifier = (field_expression "pSVar54->sh_entsize" identifier -> field_identifier)) ;) (expression_statement "local_7c = SUB84(uVar23,0);" (assignment_expression "local_7c = SUB84(uVar23,0)" identifier = (call_expression "SUB84(uVar23,0)" identifier (argument_list "(uVar23,0)" ( identifier , number_literal )))) ;) (expression_statement "uStack_78 = uVar4;" (assignment_expression "uStack_78 = uVar4" identifier = identifier) ;) comment (labeled_statement "std::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);" statement_identifier (ERROR "::\n                    vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                    ::emplace_back<gold" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n                    ::emplace_back<gold" (binary_expression "_false>::Deferred_layout>_>\n                    ::emplace_back" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset);" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>\n                              (&this->deferred_layout_,(Deferred_layout *)&offset)" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > (parenthesized_expression "(&this->deferred_layout_,(Deferred_layout *)&offset)" ( (comma_expression "&this->deferred_layout_,(Deferred_layout *)&offset" (pointer_expression "&this->deferred_layout_" & (field_expression "this->deferred_layout_" identifier -> field_identifier)) , (cast_expression "(Deferred_layout *)&offset" ( (type_descriptor "Deferred_layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier))) )))) ;)) (if_statement "if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }" if (parenthesized_expression "((undefined1 *)offset != auStack_98)" ( (binary_expression "(undefined1 *)offset != auStack_98" (cast_expression "(undefined1 *)offset" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                      operator_delete((void *)offset);\n                    }" { (expression_statement "operator_delete((void *)offset);" (call_expression "operator_delete((void *)offset)" identifier (argument_list "((void *)offset)" ( (cast_expression "(void *)offset" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) }))))) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) })) (if_statement "if (bVar26) {\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                pGVar38 = parameters->options_;\n                if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar52 = (ulong)i;\n                pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];\n                if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }\n                if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "pGVar38 = parameters->options_;" (assignment_expression "pGVar38 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }" if (parenthesized_expression "(pGVar38 == (General_options *)0x0)" ( (binary_expression "pGVar38 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52];" (subscript_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start[uVar52]" (field_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_start" (field_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                          super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (if_statement "if ((pGVar38->gc_sections_).value == false) {\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }\n                else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }" if (parenthesized_expression "((pGVar38->gc_sections_).value == false)" ( (binary_expression "(pGVar38->gc_sections_).value == false" (field_expression "(pGVar38->gc_sections_).value" (parenthesized_expression "(pGVar38->gc_sections_)" ( (field_expression "pGVar38->gc_sections_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\nLAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }\n                }" { (labeled_statement "LAB_001db162:\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }" statement_identifier : (if_statement "if (pGVar38->icf_status_ != ICF_NONE) {\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }" if (parenthesized_expression "(pGVar38->icf_status_ != ICF_NONE)" ( (binary_expression "pGVar38->icf_status_ != ICF_NONE" (field_expression "pGVar38->icf_status_" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                    if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\njoined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }\n                  }" { (if_statement "if (pOVar44 == (Output_section *)0x0) {\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" if (parenthesized_expression "(pOVar44 == (Output_section *)0x0)" ( (binary_expression "pOVar44 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" { (if_statement "if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }" if (parenthesized_expression "((this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff)" ( (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                          super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52] != 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>.\n                          _M_impl._M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>.\n                          _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                          _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");\n                      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x6f9,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x6f9,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) (expression_statement "bVar47 = (byte)(shdr.p_)->sh_flags;" (assignment_expression "bVar47 = (byte)(shdr.p_)->sh_flags" identifier = (field_expression "(byte)(shdr.p_)->sh_flags" (call_expression "(byte)(shdr.p_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) ))) -> field_identifier)) ;) (labeled_statement "joined_r0x001db186:\n                    if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }" statement_identifier : (if_statement "if ((bVar47 & 2) != 0) {\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }" if (parenthesized_expression "((bVar47 & 2) != 0)" ( (binary_expression "(bVar47 & 2) != 0" (parenthesized_expression "(bVar47 & 2)" ( (binary_expression "bVar47 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */\n                      bVar31 = Icf::is_section_folded(symtab->icf_,(Relobj *)this,i);\n                      if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                    }" { comment (ERROR "bVar31 = Icf::" (assignment_expression "bVar31 = Icf" identifier = identifier) : :) (expression_statement "is_section_folded(symtab->icf_,(Relobj *)this,i);" (call_expression "is_section_folded(symtab->icf_,(Relobj *)this,i)" identifier (argument_list "(symtab->icf_,(Relobj *)this,i)" ( (field_expression "symtab->icf_" identifier -> field_identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (if_statement "if (bVar31) {\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n                        if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar52 = (ulong)i;\n                        if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;\n                        SVar72 = Icf::get_folded_section(symtab->icf_,(Relobj *)this,i);\n                        pRVar45 = SVar72.first;\n                        pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;\n                        (*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);\n                        oVar30 = offset;\n                        pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;\n                        p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];\n                        if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }\n                        SVar29.p_ = shdr_2.p_;\n                        pcVar41 = program_name;\n                        pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );\n                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */\n                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);\n                        if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }\n                        goto LAB_001dc237;\n                      }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                          do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                        }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((parameters->options_->print_icf_sections_).value == false)\n                        goto LAB_001dafa0;" if (parenthesized_expression "((parameters->options_->print_icf_sections_).value == false)" ( (binary_expression "(parameters->options_->print_icf_sections_).value == false" (field_expression "(parameters->options_->print_icf_sections_).value" (parenthesized_expression "(parameters->options_->print_icf_sections_)" ( (field_expression "parameters->options_->print_icf_sections_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;)) (ERROR "SVar72 = Icf::" (assignment_expression "SVar72 = Icf" identifier = identifier) : :) (expression_statement "get_folded_section(symtab->icf_,(Relobj *)this,i);" (call_expression "get_folded_section(symtab->icf_,(Relobj *)this,i)" identifier (argument_list "(symtab->icf_,(Relobj *)this,i)" ( (field_expression "symtab->icf_" identifier -> field_identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "pRVar45 = SVar72.first;" (assignment_expression "pRVar45 = SVar72.first" identifier = (field_expression "SVar72.first" identifier . field_identifier)) ;) (expression_statement "pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p;" (assignment_expression "pcVar19 = (pRVar45->super_Object).name_._M_dataplus._M_p" identifier = (field_expression "(pRVar45->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar45->super_Object).name_._M_dataplus" (field_expression "(pRVar45->super_Object).name_" (parenthesized_expression "(pRVar45->super_Object)" ( (field_expression "pRVar45->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_);" (call_expression "(*(pRVar45->super_Object)._vptr_Object[0x10])\n                                  ((Deferred_layout *)&offset,pRVar45,SVar72._8_8_)" (parenthesized_expression "(*(pRVar45->super_Object)._vptr_Object[0x10])" ( (pointer_expression "*(pRVar45->super_Object)._vptr_Object[0x10]" * (subscript_expression "(pRVar45->super_Object)._vptr_Object[0x10]" (field_expression "(pRVar45->super_Object)._vptr_Object" (parenthesized_expression "(pRVar45->super_Object)" ( (field_expression "pRVar45->super_Object" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "((Deferred_layout *)&offset,pRVar45,SVar72._8_8_)" ( (cast_expression "(Deferred_layout *)&offset" ( (type_descriptor "Deferred_layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier)) , identifier , (field_expression "SVar72._8_8_" identifier . field_identifier) ))) ;) (expression_statement "oVar30 = offset;" (assignment_expression "oVar30 = offset" identifier = identifier) ;) (expression_statement "pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p;" (assignment_expression "pcVar20 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus._M_p" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_._M_dataplus" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  name_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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_identifier) . field_identifier)) ;) (expression_statement "p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10];" (assignment_expression "p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10]" identifier = (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x10]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                  _vptr_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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_Var21 == do_section_name) {\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }\n                        else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }" if (parenthesized_expression "(p_Var21 == do_section_name)" ( (binary_expression "p_Var21 == do_section_name" identifier == identifier) )) (compound_statement "{\n                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */\n                          elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);\n                        }" { comment (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Object>:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i);" (call_expression "section_name\n                                    ((string *)&shdr_2,&this->elf_file_,i)" identifier (argument_list "((string *)&shdr_2,&this->elf_file_,i)" ( (cast_expression "(string *)&shdr_2" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&shdr_2" & identifier)) , (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) , identifier ))) ;)) }) (else_clause "else {\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }" else (compound_statement "{\n                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */\n                          (*p_Var21)((string *)&shdr_2,this);\n                        }" { comment (expression_statement "(*p_Var21)((string *)&shdr_2,this);" (call_expression "(*p_Var21)((string *)&shdr_2,this)" (parenthesized_expression "(*p_Var21)" ( (pointer_expression "*p_Var21" * identifier) )) (argument_list "((string *)&shdr_2,this)" ( (cast_expression "(string *)&shdr_2" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&shdr_2" & identifier)) , identifier ))) ;) }))) (expression_statement "SVar29.p_ = shdr_2.p_;" (assignment_expression "SVar29.p_ = shdr_2.p_" (field_expression "SVar29.p_" identifier . field_identifier) = (field_expression "shdr_2.p_" identifier . field_identifier)) ;) (expression_statement "pcVar41 = program_name;" (assignment_expression "pcVar41 = program_name" identifier = identifier) ;) (expression_statement "pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 );" (assignment_expression "pcVar46 = (char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 )" identifier = (cast_expression "(char *)gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 )" identifier (argument_list "(\n                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                                 )" ( (string_literal ""%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))))) ;) comment (expression_statement "gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19);" (call_expression "gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19)" identifier (argument_list "(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,pcVar19)" ( identifier , identifier , (field_expression "SVar29.p_" identifier . field_identifier) , identifier , identifier , identifier ))) ;) (if_statement "if (shdr_2.p_ != (Shdr_data<64> *)auStack_e8) {\n                          operator_delete(shdr_2.p_);\n                        }" if (parenthesized_expression "(shdr_2.p_ != (Shdr_data<64> *)auStack_e8)" ( (binary_expression "shdr_2.p_ != (Shdr_data<64> *)auStack_e8)" (field_expression "shdr_2.p_" identifier . field_identifier) != (parenthesized_expression "(Shdr_data<64> *)auStack_e8)" ( (binary_expression "Shdr_data<64> *)auStack_e8" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*)auStack_e8" * (ERROR ")" )) identifier)) ))) )) (compound_statement "{\n                          operator_delete(shdr_2.p_);\n                        }" { (expression_statement "operator_delete(shdr_2.p_);" (call_expression "operator_delete(shdr_2.p_)" identifier (argument_list "(shdr_2.p_)" ( (field_expression "shdr_2.p_" identifier . field_identifier) ))) ;) })) (goto_statement "goto LAB_001dc237;" goto statement_identifier ;) })) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];" (subscript_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52]" (field_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start" (field_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) }))) }))) }) (else_clause "else {\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }" else (compound_statement "{\n                  if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }\n                }" { (if_statement "if (pOVar44 == (Output_section *)0x0) {\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" if (parenthesized_expression "(pOVar44 == (Output_section *)0x0)" ( (binary_expression "pOVar44 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" { (if_statement "if ((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }" if (parenthesized_expression "((this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff)" ( (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                        super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52] != 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>.\n                        _M_impl._M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>.\n                        _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                        _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */\n                      do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");\n                    }" { comment comment (expression_statement "do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout");" (call_expression "do_gold_unreachable("../../gold/object.cc",0x6e4,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x6e4,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) (if_statement "if (((shdr.p_)->sh_flags & 2) != 0) {\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }" if (parenthesized_expression "(((shdr.p_)->sh_flags & 2) != 0)" ( (binary_expression "((shdr.p_)->sh_flags & 2) != 0" (parenthesized_expression "((shdr.p_)->sh_flags & 2)" ( (binary_expression "(shdr.p_)->sh_flags & 2" (field_expression "(shdr.p_)->sh_flags" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    local_a0 = i;\n                    offset = (off_t)this;\n                    iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);\n                    pGVar38 = parameters->options_;\n                    if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }\n                    if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar52 = (ulong)i;\n                    if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;\n                    pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;\n                    p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];\n                    if (p_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }\n                    oVar30 = offset;\n                    pcVar41 = program_name;\n                    pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );\n                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */\n                    gold_info(pcVar46,pcVar41,oVar30,pcVar19);\nLAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }\n                    goto LAB_001db6f8;\n                  }" { (expression_statement "local_a0 = i;" (assignment_expression "local_a0 = i" identifier = identifier) ;) (expression_statement "offset = (off_t)this;" (assignment_expression "offset = (off_t)this" identifier = (cast_expression "(off_t)this" ( (type_descriptor "off_t" type_identifier) ) identifier)) ;) (ERROR "iVar37 = std::\n                             _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "iVar37 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>_>,_std" (binary_expression "Relobj*,_unsigned_int>_" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset)" identifier , (binary_expression "_true>_>\n                             ::find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_,(key_type *)&offset)" ( (binary_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)&symtab->gc_->referenced_list_" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n                                     *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std::__detail::_Identity,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (type_descriptor "Relobj*" type_identifier (abstract_pointer_declarator "*" *)) , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_true,_true>_>\n                                     *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n                                     *" identifier , (binary_expression "_true>_>\n                                     *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "symtab->gc_->referenced_list_" (field_expression "symtab->gc_" identifier -> field_identifier) -> field_identifier)) , (cast_expression "(key_type *)&offset" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier)) )))))) ;))))) (expression_statement "pGVar38 = parameters->options_;" (assignment_expression "pGVar38 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0) {\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }" if (parenthesized_expression "(iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0)" ( (binary_expression "iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur != (__node_type *)0x0" (field_expression "iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true>.\n                        _M_cur" (binary_expression "iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int>,_true" (binary_expression "iVar37.\n                        super__Node_iterator_base<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "iVar37.\n                        super__Node_iterator_base<std::pair<gold" (binary_expression "iVar37.\n                        super__Node_iterator_base<std" (field_expression "iVar37.\n                        super__Node_iterator_base" identifier . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) != (cast_expression "(__node_type *)0x0" ( (type_descriptor "__node_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar52 = (ulong)i;\n                      pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];\n                      goto LAB_001db162;\n                    }" { (if_statement "if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }" if (parenthesized_expression "(pGVar38 == (General_options *)0x0)" ( (binary_expression "pGVar38 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52];" (subscript_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start[uVar52]" (field_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl._M_start" (field_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                                ._M_impl" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar44 = (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                                super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (goto_statement "goto LAB_001db162;" goto statement_identifier ;) })) (if_statement "if (pGVar38 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }" if (parenthesized_expression "(pGVar38 == (General_options *)0x0)" ( (binary_expression "pGVar38 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((pGVar38->print_gc_sections_).value == false) goto LAB_001dafa0;" if (parenthesized_expression "((pGVar38->print_gc_sections_).value == false)" ( (binary_expression "(pGVar38->print_gc_sections_).value == false" (field_expression "(pGVar38->print_gc_sections_).value" (parenthesized_expression "(pGVar38->print_gc_sections_)" ( (field_expression "pGVar38->print_gc_sections_" identifier -> field_identifier) )) . field_identifier) == false) )) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;)) (expression_statement "pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p;" (assignment_expression "pcVar19 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus._M_p" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_.\n                              _M_dataplus" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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_identifier) . field_identifier)) ;) (expression_statement "p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10];" (assignment_expression "p_Var21 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10]" identifier = (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object[0x10]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                              _vptr_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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_Var21 == do_section_name) {\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }\n                    else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }" if (parenthesized_expression "(p_Var21 == do_section_name)" ( (binary_expression "p_Var21 == do_section_name" identifier == identifier) )) (compound_statement "{\n                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */\n                      elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);\n                    }" { comment (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Object>::section_name\n                                ((string *)&offset,&this->elf_file_,i);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Object>:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_name\n                                ((string *)&offset,&this->elf_file_,i);" (call_expression "section_name\n                                ((string *)&offset,&this->elf_file_,i)" identifier (argument_list "((string *)&offset,&this->elf_file_,i)" ( (cast_expression "(string *)&offset" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier)) , (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) , identifier ))) ;)) }) (else_clause "else {\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }" else (compound_statement "{\n                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */\n                      (*p_Var21)((Deferred_layout *)&offset,this,uVar52);\n                    }" { comment (expression_statement "(*p_Var21)((Deferred_layout *)&offset,this,uVar52);" (call_expression "(*p_Var21)((Deferred_layout *)&offset,this,uVar52)" (parenthesized_expression "(*p_Var21)" ( (pointer_expression "*p_Var21" * identifier) )) (argument_list "((Deferred_layout *)&offset,this,uVar52)" ( (cast_expression "(Deferred_layout *)&offset" ( (type_descriptor "Deferred_layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier)) , identifier , identifier ))) ;) }))) (expression_statement "oVar30 = offset;" (assignment_expression "oVar30 = offset" identifier = identifier) ;) (expression_statement "pcVar41 = program_name;" (assignment_expression "pcVar41 = program_name" identifier = identifier) ;) (expression_statement "pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             );" (assignment_expression "pcVar46 = (char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             )" identifier = (cast_expression "(char *)gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             )" identifier (argument_list "(\n                                             "%s: removing unused section from \'%s\' in file \'%s\'"\n                                             )" ( (string_literal ""%s: removing unused section from \'%s\' in file \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))))) ;) comment (expression_statement "gold_info(pcVar46,pcVar41,oVar30,pcVar19);" (call_expression "gold_info(pcVar46,pcVar41,oVar30,pcVar19)" identifier (argument_list "(pcVar46,pcVar41,oVar30,pcVar19)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_001dc237:\n                    if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }" statement_identifier : (if_statement "if ((undefined1 *)offset != auStack_98) {\n                      operator_delete((void *)offset);\n                    }" if (parenthesized_expression "((undefined1 *)offset != auStack_98)" ( (binary_expression "(undefined1 *)offset != auStack_98" (cast_expression "(undefined1 *)offset" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                      operator_delete((void *)offset);\n                    }" { (expression_statement "operator_delete((void *)offset);" (call_expression "operator_delete((void *)offset)" identifier (argument_list "((void *)offset)" ( (cast_expression "(void *)offset" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }))) (goto_statement "goto LAB_001db6f8;" goto statement_identifier ;) })) (if_statement "if (pGVar38->icf_status_ != ICF_NONE) {\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }" if (parenthesized_expression "(pGVar38->icf_status_ != ICF_NONE)" ( (binary_expression "pGVar38->icf_status_ != ICF_NONE" (field_expression "pGVar38->icf_status_" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                    bVar47 = (byte)(shdr.p_)->sh_flags;\n                    goto joined_r0x001db186;\n                  }" { (expression_statement "bVar47 = (byte)(shdr.p_)->sh_flags;" (assignment_expression "bVar47 = (byte)(shdr.p_)->sh_flags" identifier = (field_expression "(byte)(shdr.p_)->sh_flags" (call_expression "(byte)(shdr.p_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) ))) -> field_identifier)) ;) (goto_statement "goto joined_r0x001db186;" goto statement_identifier ;) })) }))) (if_statement "if (pOVar44 != (Output_section *)0x2) {\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(pOVar44 != (Output_section *)0x2)" ( (binary_expression "pOVar44 != (Output_section *)0x2" identifier != (cast_expression "(Output_section *)0x2" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }\n                }" { (labeled_statement "LAB_001daeca:\n                  if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }" statement_identifier : (if_statement "if (bVar27) {\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }\n                  else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;\n                  }" { (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = (Output_section *)0x1" (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(Output_section *)0x1" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }) (else_clause "else {\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }" else (compound_statement "{\n                    uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                    pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);\n                    (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;\n                    (this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;\n                    if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }\n                    if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }\n                  }" { (expression_statement "uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4);" (assignment_expression "uVar63 = *(uint *)((long)pvVar33 + uVar52 * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar33 + uVar52 * 4)" * (cast_expression "(uint *)((long)pvVar33 + uVar52 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + uVar52 * 4)" ( (binary_expression "(long)pvVar33 + uVar52 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar52 * 4" identifier * number_literal)) ))))) ;) (expression_statement "pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset);" (comma_expression "pOVar44 = Layout::layout<64,_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset)" (binary_expression "pOVar44 = Layout::layout<64" (assignment_expression "pOVar44 = Layout" identifier = identifier) (ERROR "::layout" : : identifier) < number_literal) , (binary_expression "_false>\n                                        (layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset)" identifier > (parenthesized_expression "(layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset)" ( (comma_expression "layout,this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" identifier , (comma_expression "this,i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" identifier , (comma_expression "i,(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" identifier , (comma_expression "(char *)name,&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "&shdr,uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" (pointer_expression "&shdr" & identifier) , (comma_expression "uVar64,uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" identifier , (comma_expression "uVar63,\n                                         *(uint *)((long)pvVar34 + uVar52 * 4),&offset" identifier , (comma_expression "*(uint *)((long)pvVar34 + uVar52 * 4),&offset" (pointer_expression "*(uint *)((long)pvVar34 + uVar52 * 4)" * (cast_expression "(uint *)((long)pvVar34 + uVar52 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + uVar52 * 4)" ( (binary_expression "(long)pvVar34 + uVar52 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar52 * 4" identifier * number_literal)) )))) , (pointer_expression "&offset" & identifier))))))))) )))) ;) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52] = pOVar44" (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start[uVar52]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                    super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset;" (assignment_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52] = offset" (subscript_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start[uVar52]" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>.\n                    _M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (if_statement "if ((offset == -1) && (uVar63 != 0)) {\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }" if (parenthesized_expression "((offset == -1) && (uVar63 != 0))" ( (binary_expression "(offset == -1) && (uVar63 != 0)" (parenthesized_expression "(offset == -1)" ( (binary_expression "offset == -1" identifier == number_literal) )) && (parenthesized_expression "(uVar63 != 0)" ( (binary_expression "uVar63 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      (this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;\n                    }" { (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_ = true" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.\n                      relocs_must_follow_section_writes_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = true) ;) })) (if_statement "if (bVar69 == false) {\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }" if (parenthesized_expression "(bVar69 == false)" ( (binary_expression "bVar69 == false" identifier == false) )) (compound_statement "{\n                      if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }\n                    }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\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 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */\n                        do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((parameters->options_->gdb_index_).value != false) {\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }" if (parenthesized_expression "((parameters->options_->gdb_index_).value != false)" ( (binary_expression "(parameters->options_->gdb_index_).value != false" (field_expression "(parameters->options_->gdb_index_).value" (parenthesized_expression "(parameters->options_->gdb_index_)" ( (field_expression "parameters->options_->gdb_index_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                        bVar31 = false;\n                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;\n                        if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }\n                      }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (expression_statement "bVar68 = ((shdr.p_)->sh_flags & 2) == 0;" (assignment_expression "bVar68 = ((shdr.p_)->sh_flags & 2) == 0" identifier = (binary_expression "((shdr.p_)->sh_flags & 2) == 0" (parenthesized_expression "((shdr.p_)->sh_flags & 2)" ( (binary_expression "(shdr.p_)->sh_flags & 2" (field_expression "(shdr.p_)->sh_flags" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar68) {\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }" if (parenthesized_expression "(bVar68)" ( identifier )) (compound_statement "{\n                          lVar48 = 0xc;\n                          pbVar58 = name;\n                          pbVar60 = (byte *)".debug_info";\n                          do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);\n                          bVar70 = false;\n                          bVar31 = (!bVar31 && !bVar68) == bVar31;\n                          if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }\n                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */\n                          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);\n                        }" { (expression_statement "lVar48 = 0xc;" (assignment_expression "lVar48 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".debug_info";" (assignment_expression "pbVar60 = (byte *)".debug_info"" identifier = (cast_expression "(byte *)".debug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_info"" " string_content "))) ;) (do_statement "do {\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          } while (bVar68);" do (compound_statement "{\n                            if (lVar48 == 0) break;\n                            lVar48 = lVar48 + -1;\n                            bVar31 = *pbVar58 < *pbVar60;\n                            bVar68 = *pbVar58 == *pbVar60;\n                            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                          }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar58 < *pbVar60;" (assignment_expression "bVar31 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar68 = *pbVar58 == *pbVar60;" (assignment_expression "bVar68 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar68)" ( identifier )) ;) (expression_statement "bVar70 = false;" (assignment_expression "bVar70 = false" identifier = false) ;) (expression_statement "bVar31 = (!bVar31 && !bVar68) == bVar31;" (assignment_expression "bVar31 = (!bVar31 && !bVar68) == bVar31" identifier = (binary_expression "(!bVar31 && !bVar68) == bVar31" (parenthesized_expression "(!bVar31 && !bVar68)" ( (binary_expression "!bVar31 && !bVar68" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar68" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar31) {\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (compound_statement "{\n                            lVar48 = 0xd;\n                            pbVar58 = name;\n                            pbVar60 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);\n                            bVar68 = false;\n                            bVar31 = (!bVar70 && !bVar31) == bVar70;\n                            if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }\n                          }" { (expression_statement "lVar48 = 0xd;" (assignment_expression "lVar48 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".zdebug_info";" (assignment_expression "pbVar60 = (byte *)".zdebug_info"" identifier = (cast_expression "(byte *)".zdebug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug_info"" " string_content "))) ;) (do_statement "do {\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            } while (bVar31);" do (compound_statement "{\n                              if (lVar48 == 0) break;\n                              lVar48 = lVar48 + -1;\n                              bVar70 = *pbVar58 < *pbVar60;\n                              bVar31 = *pbVar58 == *pbVar60;\n                              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                            }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar70 = *pbVar58 < *pbVar60;" (assignment_expression "bVar70 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar31 = *pbVar58 == *pbVar60;" (assignment_expression "bVar31 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (expression_statement "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;) (expression_statement "bVar31 = (!bVar70 && !bVar31) == bVar70;" (assignment_expression "bVar31 = (!bVar70 && !bVar31) == bVar70" identifier = (binary_expression "(!bVar70 && !bVar31) == bVar70" (parenthesized_expression "(!bVar70 && !bVar31)" ( (binary_expression "!bVar70 && !bVar31" (unary_expression "!bVar70" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar31) {\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (compound_statement "{\n                              lVar48 = 0xd;\n                              pbVar58 = name;\n                              pbVar60 = (byte *)".debug_types";\n                              do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);\n                              bVar70 = false;\n                              bVar31 = (!bVar68 && !bVar31) == bVar68;\n                              if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }\n                              std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);\n                              goto LAB_001daa92;\n                            }" { (expression_statement "lVar48 = 0xd;" (assignment_expression "lVar48 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".debug_types";" (assignment_expression "pbVar60 = (byte *)".debug_types"" identifier = (cast_expression "(byte *)".debug_types"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_types"" " string_content "))) ;) (do_statement "do {\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              } while (bVar31);" do (compound_statement "{\n                                if (lVar48 == 0) break;\n                                lVar48 = lVar48 + -1;\n                                bVar68 = *pbVar58 < *pbVar60;\n                                bVar31 = *pbVar58 == *pbVar60;\n                                pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                              }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar68 = *pbVar58 < *pbVar60;" (assignment_expression "bVar68 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar31 = *pbVar58 == *pbVar60;" (assignment_expression "bVar31 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (expression_statement "bVar70 = false;" (assignment_expression "bVar70 = false" identifier = false) ;) (expression_statement "bVar31 = (!bVar68 && !bVar31) == bVar68;" (assignment_expression "bVar31 = (!bVar68 && !bVar31) == bVar68" identifier = (binary_expression "(!bVar68 && !bVar31) == bVar68" (parenthesized_expression "(!bVar68 && !bVar31)" ( (binary_expression "!bVar68 && !bVar31" (unary_expression "!bVar68" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar31) {\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (compound_statement "{\n                                lVar48 = 0xe;\n                                pbVar58 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);\n                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;\n                              }" { (expression_statement "lVar48 = 0xe;" (assignment_expression "lVar48 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar58 = (byte *)".zdebug_types";" (assignment_expression "pbVar58 = (byte *)".zdebug_types"" identifier = (cast_expression "(byte *)".zdebug_types"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug_types"" " string_content "))) ;) (do_statement "do {\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                } while (bVar31);" do (compound_statement "{\n                                  if (lVar48 == 0) break;\n                                  lVar48 = lVar48 + -1;\n                                  bVar70 = *name < *pbVar58;\n                                  bVar31 = *name == *pbVar58;\n                                  name = name + (ulong)bVar71 * -2 + 1;\n                                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                                }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar70 = *name < *pbVar58;" (assignment_expression "bVar70 = *name < *pbVar58" identifier = (binary_expression "*name < *pbVar58" (pointer_expression "*name" * identifier) < (pointer_expression "*pbVar58" * identifier))) ;) (expression_statement "bVar31 = *name == *pbVar58;" (assignment_expression "bVar31 = *name == *pbVar58" identifier = (binary_expression "*name == *pbVar58" (pointer_expression "*name" * identifier) == (pointer_expression "*pbVar58" * identifier))) ;) (expression_statement "name = name + (ulong)bVar71 * -2 + 1;" (assignment_expression "name = name + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "name + (ulong)bVar71 * -2 + 1" (binary_expression "name + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (if_statement "if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;" if (parenthesized_expression "((!bVar70 && !bVar31) != bVar70)" ( (binary_expression "(!bVar70 && !bVar31) != bVar70" (parenthesized_expression "(!bVar70 && !bVar31)" ( (binary_expression "!bVar70 && !bVar31" (unary_expression "!bVar70" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;)) })) (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                        (&debug_types_sections,&i);" 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 "push_back\n                                        (&debug_types_sections,&i);" (call_expression "push_back\n                                        (&debug_types_sections,&i)" identifier (argument_list "(&debug_types_sections,&i)" ( (pointer_expression "&debug_types_sections" & identifier) , (pointer_expression "&i" & identifier) ))) ;)) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) })) comment (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::push_back\n                                    (&debug_info_sections,&i);" 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 "push_back\n                                    (&debug_info_sections,&i);" (call_expression "push_back\n                                    (&debug_info_sections,&i)" identifier (argument_list "(&debug_info_sections,&i)" ( (pointer_expression "&debug_info_sections" & identifier) , (pointer_expression "&i" & identifier) ))) ;)) })) })) })) })))) })) }) (else_clause "else {\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }" else (compound_statement "{\n                uVar52 = (ulong)i;\n                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;\n                uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);\n                uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);\n                std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                             &offset,(char *)name,__a_01);\n                auStack_98._16_4_ = uVar63;\n                local_84._4_4_ = uVar61;\n                local_84._0_4_ = uVar6;\n                uVar22._0_4_ = pSVar54->sh_name;\n                uVar22._4_4_ = pSVar54->sh_type;\n                EStack_74 = pSVar54->sh_flags;\n                local_6c = pSVar54->sh_addr;\n                EStack_64 = pSVar54->sh_offset;\n                local_5c = pSVar54->sh_size;\n                uStack_54 = *(undefined8 *)&pSVar54->sh_link;\n                local_4c = pSVar54->sh_addralign;\n                EStack_44 = pSVar54->sh_entsize;\n                local_7c = SUB84(uVar22,0);\n                uStack_78 = uVar64;\n                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */\n                std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);\n                if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }\n                (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;\n                (this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;\n              }" { (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))\n                goto LAB_001daeca;" if (parenthesized_expression "((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))" ( (binary_expression "(this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0)" (parenthesized_expression "(this->is_deferred_layout_ == false)" ( (binary_expression "this->is_deferred_layout_ == false" (field_expression "this->is_deferred_layout_" identifier -> field_identifier) == false) )) || (parenthesized_expression "(((shdr.p_)->sh_flags & 2) == 0)" ( (binary_expression "((shdr.p_)->sh_flags & 2) == 0" (parenthesized_expression "((shdr.p_)->sh_flags & 2)" ( (binary_expression "(shdr.p_)->sh_flags & 2" (field_expression "(shdr.p_)->sh_flags" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001daeca;" goto statement_identifier ;)) (expression_statement "uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4);" (assignment_expression "uVar61 = *(uint *)((long)pvVar34 + uVar52 * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar34 + uVar52 * 4)" * (cast_expression "(uint *)((long)pvVar34 + uVar52 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar34 + uVar52 * 4)" ( (binary_expression "(long)pvVar34 + uVar52 * 4" (cast_expression "(long)pvVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar52 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4);" (assignment_expression "uVar6 = *(uint *)((long)pvVar33 + uVar52 * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar33 + uVar52 * 4)" * (cast_expression "(uint *)((long)pvVar33 + uVar52 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar33 + uVar52 * 4)" ( (binary_expression "(long)pvVar33 + uVar52 * 4" (cast_expression "(long)pvVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar52 * 4" identifier * number_literal)) ))))) ;) (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n                basic_string((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) > : : identifier ( ( (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                             &offset,(char *)name,__a_01);" (comma_expression "allocator<char>_> *)\n                             &offset,(char *)name,__a_01" (binary_expression "allocator<char>_> *)\n                             &offset" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                             &offset" * (ERROR ")" )) (pointer_expression "&offset" & identifier))) , (comma_expression "(char *)name,__a_01" (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier)) (ERROR ")" )) ;) (expression_statement "auStack_98._16_4_ = uVar63;" (assignment_expression "auStack_98._16_4_ = uVar63" (field_expression "auStack_98._16_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_84._4_4_ = uVar61;" (assignment_expression "local_84._4_4_ = uVar61" (field_expression "local_84._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "local_84._0_4_ = uVar6;" (assignment_expression "local_84._0_4_ = uVar6" (field_expression "local_84._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "uVar22._0_4_ = pSVar54->sh_name;" (assignment_expression "uVar22._0_4_ = pSVar54->sh_name" (field_expression "uVar22._0_4_" identifier . field_identifier) = (field_expression "pSVar54->sh_name" identifier -> field_identifier)) ;) (expression_statement "uVar22._4_4_ = pSVar54->sh_type;" (assignment_expression "uVar22._4_4_ = pSVar54->sh_type" (field_expression "uVar22._4_4_" identifier . field_identifier) = (field_expression "pSVar54->sh_type" identifier -> field_identifier)) ;) (expression_statement "EStack_74 = pSVar54->sh_flags;" (assignment_expression "EStack_74 = pSVar54->sh_flags" identifier = (field_expression "pSVar54->sh_flags" identifier -> field_identifier)) ;) (expression_statement "local_6c = pSVar54->sh_addr;" (assignment_expression "local_6c = pSVar54->sh_addr" identifier = (field_expression "pSVar54->sh_addr" identifier -> field_identifier)) ;) (expression_statement "EStack_64 = pSVar54->sh_offset;" (assignment_expression "EStack_64 = pSVar54->sh_offset" identifier = (field_expression "pSVar54->sh_offset" identifier -> field_identifier)) ;) (expression_statement "local_5c = pSVar54->sh_size;" (assignment_expression "local_5c = pSVar54->sh_size" identifier = (field_expression "pSVar54->sh_size" identifier -> field_identifier)) ;) (expression_statement "uStack_54 = *(undefined8 *)&pSVar54->sh_link;" (assignment_expression "uStack_54 = *(undefined8 *)&pSVar54->sh_link" identifier = (pointer_expression "*(undefined8 *)&pSVar54->sh_link" * (cast_expression "(undefined8 *)&pSVar54->sh_link" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar54->sh_link" & (field_expression "pSVar54->sh_link" identifier -> field_identifier))))) ;) (expression_statement "local_4c = pSVar54->sh_addralign;" (assignment_expression "local_4c = pSVar54->sh_addralign" identifier = (field_expression "pSVar54->sh_addralign" identifier -> field_identifier)) ;) (expression_statement "EStack_44 = pSVar54->sh_entsize;" (assignment_expression "EStack_44 = pSVar54->sh_entsize" identifier = (field_expression "pSVar54->sh_entsize" identifier -> field_identifier)) ;) (expression_statement "local_7c = SUB84(uVar22,0);" (assignment_expression "local_7c = SUB84(uVar22,0)" identifier = (call_expression "SUB84(uVar22,0)" identifier (argument_list "(uVar22,0)" ( identifier , number_literal )))) ;) (expression_statement "uStack_78 = uVar64;" (assignment_expression "uStack_78 = uVar64" identifier = identifier) ;) comment (labeled_statement "std::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold::Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);" statement_identifier (ERROR "::\n                vector<gold::Sized_relobj_file<64,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold:" : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout,_std" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>_>\n                ::emplace_back<gold" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n                ::emplace_back<gold" (binary_expression "_false>::Deferred_layout>_>\n                ::emplace_back" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset);" (comma_expression "Sized_relobj_file<64,_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>\n                          (&this->deferred_layout_,(Deferred_layout *)&offset)" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > (parenthesized_expression "(&this->deferred_layout_,(Deferred_layout *)&offset)" ( (comma_expression "&this->deferred_layout_,(Deferred_layout *)&offset" (pointer_expression "&this->deferred_layout_" & (field_expression "this->deferred_layout_" identifier -> field_identifier)) , (cast_expression "(Deferred_layout *)&offset" ( (type_descriptor "Deferred_layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&offset" & identifier))) )))) ;)) (if_statement "if ((undefined1 *)offset != auStack_98) {\n                  operator_delete((void *)offset);\n                }" if (parenthesized_expression "((undefined1 *)offset != auStack_98)" ( (binary_expression "(undefined1 *)offset != auStack_98" (cast_expression "(undefined1 *)offset" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                  operator_delete((void *)offset);\n                }" { (expression_statement "operator_delete((void *)offset);" (call_expression "operator_delete((void *)offset)" identifier (argument_list "((void *)offset)" ( (cast_expression "(void *)offset" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i] = (Output_section *)0x2" (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start[i]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl._M_start" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                _M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n                super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(Output_section *)0x2" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n                super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_start[i]" (field_expression "allocator<long_unsigned_int>_>._M_impl.\n                _M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }))) })) }) (else_clause "else if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }" else (if_statement "if (reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage) {\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }\n          else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }" if (parenthesized_expression "(reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage)" ( (ERROR "reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>.\n                   _M_impl._M_finish ==\n                   reloc_sections.super__Vector_base<unsigned_int" (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) == (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>.\n                   _M_impl._M_end_of_storage" (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) )) (compound_statement "{\n            std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);\n          }" { (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>::\n            _M_realloc_insert<unsigned_int_const&>\n                      (&reloc_sections,\n                       (iterator)\n                       reloc_sections.\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 "&reloc_sections,\n                       (iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std" (pointer_expression "&reloc_sections" & identifier) , (comma_expression "(iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int,_std" (binary_expression "(iterator)\n                       reloc_sections.\n                       super__Vector_base<unsigned_int" (cast_expression "(iterator)\n                       reloc_sections.\n                       super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "reloc_sections.\n                       super__Vector_base" identifier . field_identifier)) < identifier) , identifier)) :) : (expression_statement "allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i);" (comma_expression "allocator<unsigned_int>_>._M_impl.\n                       _M_finish,&i" (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) , (pointer_expression "&i" & identifier)) (ERROR ")" )) ;)) }) (else_clause "else {\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }" else (compound_statement "{\n            *reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;\n            reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                        _M_finish + 1;\n          }" { (ERROR "*reloc_sections.super__Vector_base<unsigned_int,_std::" (comma_expression "*reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "*reloc_sections.super__Vector_base<unsigned_int" (pointer_expression "*reloc_sections.super__Vector_base" * (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n             _M_finish = i;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n             _M_finish = i" (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) = identifier) ;) (ERROR "reloc_sections.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std::" (comma_expression "reloc_sections.super__Vector_base<unsigned_int,_std" (binary_expression "reloc_sections.super__Vector_base<unsigned_int" (field_expression "reloc_sections.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        super__Vector_base<unsigned_int,_std" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish = reloc_sections.\n                        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 "reloc_sections.\n                        super__Vector_base<unsigned_int" (field_expression "reloc_sections.\n                        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) ;) }))))) }) (else_clause "else {\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }" else (compound_statement "{\n          bVar31 = Object::handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);\n          bVar68 = !bVar31;\n          if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }\n          bVar31 = Object::handle_split_stack_section((Object *)this,(char *)name);\n          uVar63 = i;\n          pPVar28 = parameters;\n          bVar47 = (byte)i;\n          if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }\n          if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }\n          uVar52 = (ulong)i;\n          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);\n          bVar31 = pcVar41 == (char *)0x0;\n          if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar68 = false;\n          lVar48 = 0x10;\n          pbVar58 = name;\n          pbVar60 = (byte *)".gnu.attributes";\n          do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);\n          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;\n          if (uVar64 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;\n          if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }\nLAB_001dafa0:\n          i = (uint)uVar52;\n          (this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;\n          (this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;\n        }" { (ERROR "bVar31 = Object::" (assignment_expression "bVar31 = Object" identifier = identifier) : :) (expression_statement "handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab);" (call_expression "handle_gnu_warning_section((Object *)this,(char *)name,(uint)__a,symtab)" identifier (argument_list "((Object *)this,(char *)name,(uint)__a,symtab)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)__a" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "bVar68 = !bVar31;" (assignment_expression "bVar68 = !bVar31" identifier = (unary_expression "!bVar31" ! identifier)) ;) (if_statement "if (bVar31) {\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n            bVar68 = false;\n            bVar31 = bVar69 == false;\n            if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }\n          }" { (expression_statement "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;) (expression_statement "bVar31 = bVar69 == false;" (assignment_expression "bVar31 = bVar69 == false" identifier = (binary_expression "bVar69 == false" identifier == false)) ;) (if_statement "if (bVar31) {\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n              if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\n                do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar68 = false;\n              bVar31 = (parameters->options_->shared_).value == false;\n              if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }\n            }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\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 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */\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 "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;) (expression_statement "bVar31 = (parameters->options_->shared_).value == false;" (assignment_expression "bVar31 = (parameters->options_->shared_).value == false" identifier = (binary_expression "(parameters->options_->shared_).value == false" (field_expression "(parameters->options_->shared_).value" (parenthesized_expression "(parameters->options_->shared_)" ( (field_expression "parameters->options_->shared_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false)) ;) (if_statement "if (bVar31) {\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n                puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);\n                bVar68 = false;\n                *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n                bVar31 = *puVar36 == 0;\n              }" { (expression_statement "puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p);" (assignment_expression "puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p)" identifier = (cast_expression "(ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p)" ( (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                         _M_p" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data._M_start" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                         super__Bvector_impl_data" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base<std" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                   (long)omit.super__Bvector_base" (call_expression "(ulong)(i >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(i >> 3 & 0x1ffffff8)" ( (binary_expression "i >> 3 & 0x1ffffff8" (binary_expression "i >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)omit.super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "omit.super__Bvector_base" identifier . field_identifier))) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;) (expression_statement "*puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);" (assignment_expression "*puVar36 = *puVar36 | 1L << ((byte)i & 0x3f)" (pointer_expression "*puVar36" * identifier) = (binary_expression "*puVar36 | 1L << ((byte)i & 0x3f)" (pointer_expression "*puVar36" * identifier) | (binary_expression "1L << ((byte)i & 0x3f)" number_literal << (parenthesized_expression "((byte)i & 0x3f)" ( (binary_expression "(byte)i & 0x3f" (cast_expression "(byte)i" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (expression_statement "bVar31 = *puVar36 == 0;" (assignment_expression "bVar31 = *puVar36 == 0" identifier = (binary_expression "*puVar36 == 0" (pointer_expression "*puVar36" * identifier) == number_literal)) ;) })) })) })) (expression_statement "lVar48 = 0x10;" (assignment_expression "lVar48 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".note.GNU-stack";" (assignment_expression "pbVar60 = (byte *)".note.GNU-stack"" identifier = (cast_expression "(byte *)".note.GNU-stack"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".note.GNU-stack"" " string_content "))) ;) (do_statement "do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);" do (compound_statement "{\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar68 = *pbVar58 < *pbVar60;" (assignment_expression "bVar68 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar31 = *pbVar58 == *pbVar60;" (assignment_expression "bVar31 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (if_statement "if ((!bVar68 && !bVar31) == bVar68) {\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }" if (parenthesized_expression "((!bVar68 && !bVar31) == bVar68)" ( (binary_expression "(!bVar68 && !bVar31) == bVar68" (parenthesized_expression "(!bVar68 && !bVar31)" ( (binary_expression "!bVar68 && !bVar31" (unary_expression "!bVar68" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier) )) (compound_statement "{\n            local_230 = true;\n            local_238 = local_238 | (shdr.p_)->sh_flags;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n          }" { (expression_statement "local_230 = true;" (assignment_expression "local_230 = true" identifier = true) ;) (expression_statement "local_238 = local_238 | (shdr.p_)->sh_flags;" (assignment_expression "local_238 = local_238 | (shdr.p_)->sh_flags" identifier = (binary_expression "local_238 | (shdr.p_)->sh_flags" identifier | (field_expression "(shdr.p_)->sh_flags" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "puVar36 = (ulong *)((ulong)(i >> 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 "puVar36 = (ulong *)((ulong)(i >> 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)(i >> 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)(i >> 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                               )" ( (field_expression "(ulong)(i >> 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" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data._M_start" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base" (call_expression "(ulong)(i >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(i >> 3 & 0x1ffffff8)" ( (binary_expression "i >> 3 & 0x1ffffff8" (binary_expression "i >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)omit.super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "omit.super__Bvector_base" identifier . field_identifier))) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "*puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);" (assignment_expression "*puVar36 = *puVar36 | 1L << ((byte)i & 0x3f)" (pointer_expression "*puVar36" * identifier) = (binary_expression "*puVar36 | 1L << ((byte)i & 0x3f)" (pointer_expression "*puVar36" * identifier) | (binary_expression "1L << ((byte)i & 0x3f)" number_literal << (parenthesized_expression "((byte)i & 0x3f)" ( (binary_expression "(byte)i & 0x3f" (cast_expression "(byte)i" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) })) (ERROR "bVar31 = Object::" (assignment_expression "bVar31 = Object" identifier = identifier) : :) (expression_statement "handle_split_stack_section((Object *)this,(char *)name);" (call_expression "handle_split_stack_section((Object *)this,(char *)name)" identifier (argument_list "((Object *)this,(char *)name)" ( (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "uVar63 = i;" (assignment_expression "uVar63 = i" identifier = identifier) ;) (expression_statement "pPVar28 = parameters;" (assignment_expression "pPVar28 = parameters" identifier = identifier) ;) (expression_statement "bVar47 = (byte)i;" (assignment_expression "bVar47 = (byte)i" identifier = (cast_expression "(byte)i" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((bVar31) && (bVar69 == false)) {\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }" if (parenthesized_expression "((bVar31) && (bVar69 == false))" ( (binary_expression "(bVar31) && (bVar69 == false)" (parenthesized_expression "(bVar31)" ( identifier )) && (parenthesized_expression "(bVar69 == false)" ( (binary_expression "bVar69 == false" identifier == false) ))) )) (compound_statement "{\n            if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }\n          }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\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 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" { comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((parameters->options_->shared_).value == false) {\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }" if (parenthesized_expression "((parameters->options_->shared_).value == false)" ( (binary_expression "(parameters->options_->shared_).value == false" (field_expression "(parameters->options_->shared_).value" (parenthesized_expression "(parameters->options_->shared_)" ( (field_expression "parameters->options_->shared_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n              puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);\n              *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            }" { (expression_statement "puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p);" (assignment_expression "puVar36 = (ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p)" identifier = (cast_expression "(ulong *)((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p)" ( (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.\n                                       _M_p" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data._M_start" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                       super__Bvector_impl_data" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base<std" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                                 (long)omit.super__Bvector_base" (call_expression "(ulong)(i >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(i >> 3 & 0x1ffffff8)" ( (binary_expression "i >> 3 & 0x1ffffff8" (binary_expression "i >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)omit.super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "omit.super__Bvector_base" identifier . field_identifier))) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "*puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);" (assignment_expression "*puVar36 = *puVar36 | 1L << (bVar47 & 0x3f)" (pointer_expression "*puVar36" * identifier) = (binary_expression "*puVar36 | 1L << (bVar47 & 0x3f)" (pointer_expression "*puVar36" * identifier) | (binary_expression "1L << (bVar47 & 0x3f)" number_literal << (parenthesized_expression "(bVar47 & 0x3f)" ( (binary_expression "bVar47 & 0x3f" identifier & number_literal) ))))) ;) })) })) (if_statement "if (pPVar28->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }" if (parenthesized_expression "(pPVar28->target_ == (Target *)0x0)" ( (binary_expression "pPVar28->target_ == (Target *)0x0" (field_expression "pPVar28->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);" (assignment_expression "pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60)" identifier = (pointer_expression "*(char **)(*(long *)(pPVar28->target_ + 8) + 0x60)" * (cast_expression "(char **)(*(long *)(pPVar28->target_ + 8) + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(pPVar28->target_ + 8) + 0x60)" ( (binary_expression "*(long *)(pPVar28->target_ + 8) + 0x60" (pointer_expression "*(long *)(pPVar28->target_ + 8)" * (cast_expression "(long *)(pPVar28->target_ + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pPVar28->target_ + 8)" ( (binary_expression "pPVar28->target_ + 8" (field_expression "pPVar28->target_" identifier -> field_identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar31 = pcVar41 == (char *)0x0;" (assignment_expression "bVar31 = pcVar41 == (char *)0x0" identifier = (binary_expression "pcVar41 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar31) {\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (compound_statement "{\n            iVar32 = strcmp((char *)name,pcVar41);\n            bVar31 = iVar32 == 0;\n            if (!bVar31) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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            *puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);\n            if (uVar64 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar68 = uVar64 == 7;\n            bVar31 = uVar64 < 7;\n            lVar48 = 0x13;\n            pbVar58 = name;\n            pbVar60 = (byte *)".note.gnu.property";\n            do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);\n            if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */\n            layout_gnu_property_section(this,layout,uVar63);\n            uVar52 = (ulong)i;\n            puVar36 = (ulong *)((ulong)(i >> 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            *puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);\n            goto LAB_001dafa0;\n          }" { (expression_statement "iVar32 = strcmp((char *)name,pcVar41);" (assignment_expression "iVar32 = strcmp((char *)name,pcVar41)" identifier = (call_expression "strcmp((char *)name,pcVar41)" identifier (argument_list "((char *)name,pcVar41)" ( (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "bVar31 = iVar32 == 0;" (assignment_expression "bVar31 = iVar32 == 0" identifier = (binary_expression "iVar32 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar31) goto LAB_001daf00;" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (goto_statement "goto LAB_001daf00;" goto statement_identifier ;)) (labeled_statement "LAB_001dabc4:\n            puVar36 = (ulong *)((ulong)(uVar63 >> 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                               );" statement_identifier : (expression_statement "puVar36 = (ulong *)((ulong)(uVar63 >> 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 "puVar36 = (ulong *)((ulong)(uVar63 >> 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)(uVar63 >> 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)(uVar63 >> 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                               )" ( (field_expression "(ulong)(uVar63 >> 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" (field_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data._M_start" (field_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data" (field_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std" (binary_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base" (call_expression "(ulong)(uVar63 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar63 >> 3 & 0x1ffffff8)" ( (binary_expression "uVar63 >> 3 & 0x1ffffff8" (binary_expression "uVar63 >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)omit.super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "omit.super__Bvector_base" identifier . field_identifier))) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;)) (expression_statement "*puVar36 = *puVar36 | 1L << (bVar47 & 0x3f);" (assignment_expression "*puVar36 = *puVar36 | 1L << (bVar47 & 0x3f)" (pointer_expression "*puVar36" * identifier) = (binary_expression "*puVar36 | 1L << (bVar47 & 0x3f)" (pointer_expression "*puVar36" * identifier) | (binary_expression "1L << (bVar47 & 0x3f)" number_literal << (parenthesized_expression "(bVar47 & 0x3f)" ( (binary_expression "bVar47 & 0x3f" identifier & number_literal) ))))) ;) (if_statement "if (uVar64 != 7) goto LAB_001dabee;" if (parenthesized_expression "(uVar64 != 7)" ( (binary_expression "uVar64 != 7" identifier != number_literal) )) (goto_statement "goto LAB_001dabee;" goto statement_identifier ;)) (labeled_statement "LAB_001daf2c:\n            bVar68 = uVar64 == 7;" statement_identifier : (expression_statement "bVar68 = uVar64 == 7;" (assignment_expression "bVar68 = uVar64 == 7" identifier = (binary_expression "uVar64 == 7" identifier == number_literal)) ;)) (expression_statement "bVar31 = uVar64 < 7;" (assignment_expression "bVar31 = uVar64 < 7" identifier = (binary_expression "uVar64 < 7" identifier < number_literal)) ;) (expression_statement "lVar48 = 0x13;" (assignment_expression "lVar48 = 0x13" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".note.gnu.property";" (assignment_expression "pbVar60 = (byte *)".note.gnu.property"" identifier = (cast_expression "(byte *)".note.gnu.property"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".note.gnu.property"" " string_content "))) ;) (do_statement "do {\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            } while (bVar68);" do (compound_statement "{\n              if (lVar48 == 0) break;\n              lVar48 = lVar48 + -1;\n              bVar31 = *pbVar58 < *pbVar60;\n              bVar68 = *pbVar58 == *pbVar60;\n              pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n              pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n            }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar31 = *pbVar58 < *pbVar60;" (assignment_expression "bVar31 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar68 = *pbVar58 == *pbVar60;" (assignment_expression "bVar68 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar68)" ( identifier )) ;) (if_statement "if ((!bVar31 && !bVar68) != bVar31) {\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" if (parenthesized_expression "((!bVar31 && !bVar68) != bVar31)" ( (binary_expression "(!bVar31 && !bVar68) != bVar31" (parenthesized_expression "(!bVar31 && !bVar68)" ( (binary_expression "!bVar31 && !bVar68" (unary_expression "!bVar31" ! identifier) && (unary_expression "!bVar68" ! identifier)) )) != identifier) )) (compound_statement "{\n              bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;\n              bVar31 = !bVar68;\n              if (bVar68) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" { (expression_statement "bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0;" (assignment_expression "bVar68 = (1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0" identifier = (binary_expression "(1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])\n                       == 0" (parenthesized_expression "(1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])" ( (subscript_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]" (field_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data._M_start" (field_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                       super__Bvector_impl_data" (field_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std::allocator<bool" (binary_expression "1L << (bVar47 & 0x3f) &\n                       omit.super__Bvector_base<std" (binary_expression "1L << (bVar47 & 0x3f)" number_literal << (parenthesized_expression "(bVar47 & 0x3f)" ( (binary_expression "bVar47 & 0x3f" identifier & number_literal) ))) & (binary_expression "omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ (binary_expression "uVar63 >> 6" identifier >> number_literal) ]) )) == number_literal)) ;) (expression_statement "bVar31 = !bVar68;" (assignment_expression "bVar31 = !bVar68" identifier = (unary_expression "!bVar68" ! identifier)) ;) (if_statement "if (bVar68) goto LAB_001dac20;" if (parenthesized_expression "(bVar68)" ( identifier )) (goto_statement "goto LAB_001dac20;" goto statement_identifier ;)) (goto_statement "goto LAB_001daf78;" goto statement_identifier ;) })) comment (expression_statement "layout_gnu_property_section(this,layout,uVar63);" (call_expression "layout_gnu_property_section(this,layout,uVar63)" identifier (argument_list "(this,layout,uVar63)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar36 = (ulong *)((ulong)(i >> 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 "puVar36 = (ulong *)((ulong)(i >> 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)(i >> 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)(i >> 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                               )" ( (field_expression "(ulong)(i >> 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" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data._M_start" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                     super__Bvector_impl_data" (field_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base<std" (binary_expression "(ulong)(i >> 3 & 0x1ffffff8) +\n                               (long)omit.super__Bvector_base" (call_expression "(ulong)(i >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(i >> 3 & 0x1ffffff8)" ( (binary_expression "i >> 3 & 0x1ffffff8" (binary_expression "i >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)omit.super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "omit.super__Bvector_base" identifier . field_identifier))) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) )))) ;) (expression_statement "*puVar36 = *puVar36 | 1L << ((byte)i & 0x3f);" (assignment_expression "*puVar36 = *puVar36 | 1L << ((byte)i & 0x3f)" (pointer_expression "*puVar36" * identifier) = (binary_expression "*puVar36 | 1L << ((byte)i & 0x3f)" (pointer_expression "*puVar36" * identifier) | (binary_expression "1L << ((byte)i & 0x3f)" number_literal << (parenthesized_expression "((byte)i & 0x3f)" ( (binary_expression "(byte)i & 0x3f" (cast_expression "(byte)i" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;) })) (labeled_statement "LAB_001daf00:\n          bVar68 = false;" statement_identifier : (expression_statement "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;)) (expression_statement "lVar48 = 0x10;" (assignment_expression "lVar48 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".gnu.attributes";" (assignment_expression "pbVar60 = (byte *)".gnu.attributes"" identifier = (cast_expression "(byte *)".gnu.attributes"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.attributes"" " string_content "))) ;) (do_statement "do {\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          } while (bVar31);" do (compound_statement "{\n            if (lVar48 == 0) break;\n            lVar48 = lVar48 + -1;\n            bVar68 = *pbVar58 < *pbVar60;\n            bVar31 = *pbVar58 == *pbVar60;\n            pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n            pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n          }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar68 = *pbVar58 < *pbVar60;" (assignment_expression "bVar68 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar31 = *pbVar58 == *pbVar60;" (assignment_expression "bVar31 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar31)" ( identifier )) ;) (if_statement "if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;" if (parenthesized_expression "((!bVar68 && !bVar31) == bVar68)" ( (binary_expression "(!bVar68 && !bVar31) == bVar68" (parenthesized_expression "(!bVar68 && !bVar31)" ( (binary_expression "!bVar68 && !bVar31" (unary_expression "!bVar68" ! identifier) && (unary_expression "!bVar31" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_001dabc4;" goto statement_identifier ;)) (if_statement "if (uVar64 == 7) goto LAB_001daf2c;" if (parenthesized_expression "(uVar64 == 7)" ( (binary_expression "uVar64 == 7" identifier == number_literal) )) (goto_statement "goto LAB_001daf2c;" goto statement_identifier ;)) (labeled_statement "LAB_001dabee:\n          bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;" statement_identifier : (expression_statement "bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0;" (assignment_expression "bVar31 = (1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0" identifier = (binary_expression "(1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]) != 0" (parenthesized_expression "(1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6])" ( (subscript_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p[uVar63 >> 6]" (field_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base._M_p" (field_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start.super__Bit_iterator_base" (field_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                   _M_start" (field_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool>_" (binary_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std::allocator<bool" (binary_expression "1L << (bVar47 & 0x3f) &\n                   omit.super__Bvector_base<std" (binary_expression "1L << (bVar47 & 0x3f)" number_literal << (parenthesized_expression "(bVar47 & 0x3f)" ( (binary_expression "bVar47 & 0x3f" identifier & number_literal) ))) & (binary_expression "omit.super__Bvector_base<std" (field_expression "omit.super__Bvector_base" identifier . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ (binary_expression "uVar63 >> 6" identifier >> number_literal) ]) )) != number_literal)) ;)) (if_statement "if (bVar31) {\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }\n          else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\nLAB_001daf78:\n            local_210 = layout->incremental_inputs_;\n            if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;\n          }" { (labeled_statement "LAB_001daf78:\n            local_210 = layout->incremental_inputs_;" statement_identifier : (expression_statement "local_210 = layout->incremental_inputs_;" (assignment_expression "local_210 = layout->incremental_inputs_" identifier = (field_expression "layout->incremental_inputs_" identifier -> field_identifier)) ;)) (if_statement "if (local_210 == (Incremental_inputs *)0x0) {\n              if (!bVar31) goto LAB_001da9c0;\n            }\n            else if (!bVar31) goto LAB_001dac76;" if (parenthesized_expression "(local_210 == (Incremental_inputs *)0x0)" ( (binary_expression "local_210 == (Incremental_inputs *)0x0" identifier == (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (!bVar31) goto LAB_001da9c0;\n            }" { (if_statement "if (!bVar31) goto LAB_001da9c0;" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (goto_statement "goto LAB_001da9c0;" goto statement_identifier ;)) }) (else_clause "else if (!bVar31) goto LAB_001dac76;" else (if_statement "if (!bVar31) goto LAB_001dac76;" if (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) (goto_statement "goto LAB_001dac76;" goto statement_identifier ;)))) }) (else_clause "else {\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }" else (compound_statement "{\n            bVar31 = false;\n            if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */\n            bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);\n            if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar52 = (ulong)i;\n          }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (if_statement "if (uVar64 != 0x11) {\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }" if (parenthesized_expression "(uVar64 != 0x11)" ( (binary_expression "uVar64 != 0x11" identifier != number_literal) )) (compound_statement "{\nLAB_001dac20:\n              bVar68 = false;\n              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;\n              if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = layout->incremental_inputs_;\n              if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }\n              goto LAB_001da9c0;\n            }" { (labeled_statement "LAB_001dac20:\n              bVar68 = false;" statement_identifier : (expression_statement "bVar68 = false;" (assignment_expression "bVar68 = false" identifier = false) ;)) (expression_statement "bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;" (assignment_expression "bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0" identifier = (binary_expression "((shdr.p_)->sh_flags & 0x200) == 0" (parenthesized_expression "((shdr.p_)->sh_flags & 0x200)" ( (binary_expression "(shdr.p_)->sh_flags & 0x200" (field_expression "(shdr.p_)->sh_flags" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar70) {\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }" if (parenthesized_expression "(bVar70)" ( identifier )) (compound_statement "{\n                lVar48 = 0xd;\n                pbVar58 = name;\n                pbVar60 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);\n                if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }\n              }" { (expression_statement "lVar48 = 0xd;" (assignment_expression "lVar48 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar58 = name;" (assignment_expression "pbVar58 = name" identifier = identifier) ;) (expression_statement "pbVar60 = (byte *)".gnu.linkonce";" (assignment_expression "pbVar60 = (byte *)".gnu.linkonce"" identifier = (cast_expression "(byte *)".gnu.linkonce"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce"" " string_content "))) ;) (do_statement "do {\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                } while (bVar70);" do (compound_statement "{\n                  if (lVar48 == 0) break;\n                  lVar48 = lVar48 + -1;\n                  bVar68 = *pbVar58 < *pbVar60;\n                  bVar70 = *pbVar58 == *pbVar60;\n                  pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;\n                  pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;\n                }" { (if_statement "if (lVar48 == 0) break;" if (parenthesized_expression "(lVar48 == 0)" ( (binary_expression "lVar48 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar48 = lVar48 + -1;" (assignment_expression "lVar48 = lVar48 + -1" identifier = (binary_expression "lVar48 + -1" identifier + number_literal)) ;) (expression_statement "bVar68 = *pbVar58 < *pbVar60;" (assignment_expression "bVar68 = *pbVar58 < *pbVar60" identifier = (binary_expression "*pbVar58 < *pbVar60" (pointer_expression "*pbVar58" * identifier) < (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "bVar70 = *pbVar58 == *pbVar60;" (assignment_expression "bVar70 = *pbVar58 == *pbVar60" identifier = (binary_expression "*pbVar58 == *pbVar60" (pointer_expression "*pbVar58" * identifier) == (pointer_expression "*pbVar60" * identifier))) ;) (expression_statement "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar58 = pbVar58 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar58 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar58 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1;" (assignment_expression "pbVar60 = pbVar60 + (ulong)bVar71 * -2 + 1" identifier = (binary_expression "pbVar60 + (ulong)bVar71 * -2 + 1" (binary_expression "pbVar60 + (ulong)bVar71 * -2" identifier + (binary_expression "(ulong)bVar71 * -2" (cast_expression "(ulong)bVar71" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar70)" ( identifier )) ;) (if_statement "if (((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)) {\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }" if (parenthesized_expression "(((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68))" ( (binary_expression "((!bVar68 && !bVar70) == bVar68) &&\n                   (bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)" (parenthesized_expression "((!bVar68 && !bVar70) == bVar68)" ( (binary_expression "(!bVar68 && !bVar70) == bVar68" (parenthesized_expression "(!bVar68 && !bVar70)" ( (binary_expression "!bVar68 && !bVar70" (unary_expression "!bVar68" ! identifier) && (unary_expression "!bVar70" ! identifier)) )) == identifier) )) && (parenthesized_expression "(bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68)" ( (comma_expression "bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr),\n                   !bVar68" (assignment_expression "bVar68 = include_linkonce_section(this,layout,uVar63,(char *)name,&shdr)" identifier = (call_expression "include_linkonce_section(this,layout,uVar63,(char *)name,&shdr)" identifier (argument_list "(this,layout,uVar63,(char *)name,&shdr)" ( identifier , identifier , identifier , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&shdr" & identifier) )))) , (unary_expression "!bVar68" ! identifier)) ))) )) (compound_statement "{\n                  uVar52 = (ulong)i;\n                  goto LAB_001dafa0;\n                }" { (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001dac4f:\n              local_210 = layout->incremental_inputs_;" statement_identifier : (expression_statement "local_210 = layout->incremental_inputs_;" (assignment_expression "local_210 = layout->incremental_inputs_" identifier = (field_expression "layout->incremental_inputs_" identifier -> field_identifier)) ;)) (if_statement "if ((!bVar31) && (local_210 != (Incremental_inputs *)0x0)) {\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }" if (parenthesized_expression "((!bVar31) && (local_210 != (Incremental_inputs *)0x0))" ( (binary_expression "(!bVar31) && (local_210 != (Incremental_inputs *)0x0)" (parenthesized_expression "(!bVar31)" ( (unary_expression "!bVar31" ! identifier) )) && (parenthesized_expression "(local_210 != (Incremental_inputs *)0x0)" ( (binary_expression "local_210 != (Incremental_inputs *)0x0" identifier != (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\nLAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);\n                if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }\n              }" { (labeled_statement "LAB_001dac76:\n                bVar31 = can_incremental_update(uVar64);" statement_identifier : (expression_statement "bVar31 = can_incremental_update(uVar64);" (assignment_expression "bVar31 = can_incremental_update(uVar64)" identifier = (call_expression "can_incremental_update(uVar64)" identifier (argument_list "(uVar64)" ( identifier )))) ;)) (if_statement "if (bVar31) {\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n                  sh_size = (shdr.p_)->sh_size;\n                  pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;\n                  if (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }\n                  Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);\n                }" { (expression_statement "sh_size = (shdr.p_)->sh_size;" (assignment_expression "sh_size = (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 "pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_;" (assignment_expression "pCVar9 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                           compressed_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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 (pCVar9 != (Compressed_section_map *)0x0) {\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }" if (parenthesized_expression "(pCVar9 != (Compressed_section_map *)0x0)" ( (binary_expression "pCVar9 != (Compressed_section_map *)0x0" identifier != (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;\n                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n                    p_Var49 = &p_Var1->_M_header;\n                    if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }\n                  }" { (expression_statement "p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pCVar9->_M_t)._M_impl.super__Rb_tree_header" & (field_expression "(pCVar9->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar9->_M_t)._M_impl" (parenthesized_expression "(pCVar9->_M_t)" ( (field_expression "pCVar9->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "(pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(pCVar9->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar9->_M_t)._M_impl" (parenthesized_expression "(pCVar9->_M_t)" ( (field_expression "pCVar9->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var49 = &p_Var1->_M_header;" (assignment_expression "p_Var49 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var10 != (_Base_ptr)0x0) {\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }" if (parenthesized_expression "(p_Var10 != (_Base_ptr)0x0)" ( (binary_expression "p_Var10 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n                      do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);\nLAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }\n                    }" { (do_statement "do {\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      } while (p_Var50->_M_left != (_Base_ptr)0x0);" do (compound_statement "{\n                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }\n                        p_Var10 = p_Var50->_M_left;\n                        p_Var49 = p_Var50;\n                      }" { (while_statement "while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }" while (parenthesized_expression "(p_Var50 = p_Var10, p_Var50[1]._M_color < i)" ( (comma_expression "p_Var50 = p_Var10, p_Var50[1]._M_color < i" (assignment_expression "p_Var50 = p_Var10" identifier = identifier) , (binary_expression "p_Var50[1]._M_color < i" (field_expression "p_Var50[1]._M_color" (subscript_expression "p_Var50[1]" identifier [ number_literal ]) . field_identifier) < identifier)) )) (compound_statement "{\n                          pp_Var2 = &p_Var50->_M_right;\n                          p_Var10 = *pp_Var2;\n                          p_Var50 = p_Var49;\n                          if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;\n                        }" { (expression_statement "pp_Var2 = &p_Var50->_M_right;" (assignment_expression "pp_Var2 = &p_Var50->_M_right" identifier = (pointer_expression "&p_Var50->_M_right" & (field_expression "p_Var50->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var10 = *pp_Var2;" (assignment_expression "p_Var10 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;) (expression_statement "p_Var50 = p_Var49;" (assignment_expression "p_Var50 = p_Var49" identifier = identifier) ;) (if_statement "if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_001dacda;" if (parenthesized_expression "(*pp_Var2 == (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 == (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001dacda;" goto statement_identifier ;)) })) (expression_statement "p_Var10 = p_Var50->_M_left;" (assignment_expression "p_Var10 = p_Var50->_M_left" identifier = (field_expression "p_Var50->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var49 = p_Var50;" (assignment_expression "p_Var49 = p_Var50" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var50->_M_left != (_Base_ptr)0x0)" ( (binary_expression "p_Var50->_M_left != (_Base_ptr)0x0" (field_expression "p_Var50->_M_left" identifier -> field_identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_001dacda:\n                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }" statement_identifier : (if_statement "if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }" if (parenthesized_expression "((p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i))" ( (binary_expression "(p_Var1 != (_Rb_tree_header *)p_Var50) &&\n                         ((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)" (parenthesized_expression "(p_Var1 != (_Rb_tree_header *)p_Var50)" ( (binary_expression "p_Var1 != (_Rb_tree_header *)p_Var50" identifier != (cast_expression "(_Rb_tree_header *)p_Var50" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "((uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)" ( (binary_expression "(uint)((_Rb_tree_header *)p_Var50)->_M_node_count <= i" (field_expression "(uint)((_Rb_tree_header *)p_Var50)->_M_node_count" (call_expression "(uint)((_Rb_tree_header *)p_Var50)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((_Rb_tree_header *)p_Var50)" ( (cast_expression "(_Rb_tree_header *)p_Var50" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) -> field_identifier) <= identifier) ))) )) (compound_statement "{\n                        sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);\n                      }" { (expression_statement "sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28);" (assignment_expression "sh_size = *(Elf_WXword *)((long)p_Var50 + 0x28)" identifier = (pointer_expression "*(Elf_WXword *)((long)p_Var50 + 0x28)" * (cast_expression "(Elf_WXword *)((long)p_Var50 + 0x28)" ( (type_descriptor "Elf_WXword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p_Var50 + 0x28)" ( (binary_expression "(long)p_Var50 + 0x28" (cast_expression "(long)p_Var50" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }))) })) })) (labeled_statement "Incremental_inputs::report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);" statement_identifier : (ERROR ":" :) (expression_statement "report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size);" (call_expression "report_input_section\n                            (local_210,(Object *)this,i,(char *)name,sh_size)" identifier (argument_list "(local_210,(Object *)this,i,(char *)name,sh_size)" ( identifier , (cast_expression "(Object *)this" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) })) })) (goto_statement "goto LAB_001da9c0;" goto statement_identifier ;) })) comment (expression_statement "bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270);" (assignment_expression "bVar31 = include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270)" identifier = (call_expression "include_section_group\n                               (this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270)" identifier (argument_list "(this,symtab,layout,uVar63,(char *)name,local_1f0,(char *)local_1c0,\n                                local_1c8,(vector<bool,_std::allocator<bool>_> *)local_270)" ( identifier , identifier , identifier , identifier , (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)local_1c0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (parenthesized_expression "(vector<bool,_std::allocator<bool>_> *)local_270)" ( (ERROR "vector<bool,_std::" (comma_expression "vector<bool,_std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (binary_expression "allocator<bool>_> *)local_270" (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > (pointer_expression "*)local_270" * (ERROR ")" )) identifier)) )) )))) ;) (if_statement "if (bVar31) {\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }" if (parenthesized_expression "(bVar31)" ( identifier )) (compound_statement "{\n              bVar31 = false;\n              goto LAB_001dac4f;\n            }" { (expression_statement "bVar31 = false;" (assignment_expression "bVar31 = false" identifier = false) ;) (goto_statement "goto LAB_001dac4f;" goto statement_identifier ;) })) (labeled_statement "LAB_001db6f8:\n            uVar52 = (ulong)i;" statement_identifier : (expression_statement "uVar52 = (ulong)i;" (assignment_expression "uVar52 = (ulong)i" identifier = (cast_expression "(ulong)i" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) }))) (labeled_statement "LAB_001dafa0:\n          i = (uint)uVar52;" statement_identifier : (expression_statement "i = (uint)uVar52;" (assignment_expression "i = (uint)uVar52" identifier = (cast_expression "(uint)uVar52" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52] = (Output_section *)0x0" (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start[uVar52]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n          _M_start" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_.\n          super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (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) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (ERROR "(this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base<long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_.\n          super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff;" (assignment_expression "allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52] = 0xffffffffffffffff" (subscript_expression "allocator<long_unsigned_int>_>._M_impl._M_start\n          [uVar52]" (field_expression "allocator<long_unsigned_int>_>._M_impl._M_start" (field_expression "allocator<long_unsigned_int>_>._M_impl" (binary_expression "allocator<long_unsigned_int>_" (binary_expression "allocator<long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) })))) (labeled_statement "LAB_001daa92:\n        i = i + 1;" statement_identifier : (expression_statement "i = i + 1;" (assignment_expression "i = i + 1" identifier = (binary_expression "i + 1" identifier + number_literal)) ;)) (expression_statement "__a = (allocator<char> *)(ulong)i;" (assignment_expression "__a = (allocator<char> *)(ulong)" identifier = (call_expression "(allocator<char> *)(ulong)" (parenthesized_expression "(allocator<char> *)" ( (binary_expression "allocator<char> *" (binary_expression "allocator<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier )))) (ERROR "i" identifier) ;) (expression_statement "pSVar67 = pSVar54 + 1;" (assignment_expression "pSVar67 = pSVar54 + 1" identifier = (binary_expression "pSVar54 + 1" identifier + number_literal)) ;) (if_statement "if (uVar57 <= i) goto LAB_001da530;" if (parenthesized_expression "(uVar57 <= i)" ( (binary_expression "uVar57 <= i" identifier <= identifier) )) (goto_statement "goto LAB_001da530;" goto statement_identifier ;)) (expression_statement "uVar52 = (ulong)pSVar67->sh_name;" (assignment_expression "uVar52 = (ulong)pSVar67->sh_name" identifier = (cast_expression "(ulong)pSVar67->sh_name" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pSVar67->sh_name" identifier -> field_identifier))) ;) (expression_statement "uVar64 = pSVar54[1].sh_type;" (assignment_expression "uVar64 = pSVar54[1].sh_type" identifier = (field_expression "pSVar54[1].sh_type" (subscript_expression "pSVar54[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pSVar54 = pSVar67;" (assignment_expression "pSVar54 = pSVar67" identifier = identifier) ;) (expression_statement "shdr.p_ = pSVar67;" (assignment_expression "shdr.p_ = pSVar67" (field_expression "shdr.p_" identifier . field_identifier) = identifier) ;) })) (while_statement "while (uVar52 < local_1c8);" while (parenthesized_expression "(uVar52 < local_1c8)" ( (binary_expression "uVar52 < local_1c8" identifier < identifier) )) (expression_statement ";" ;)) }) identifier = identifier ; identifier = & identifier . identifier < identifier : : identifier < primitive_type > identifier > ; identifier = ( primitive_type * ) identifier ( " identifier identifier identifier identifier for identifier % identifier : % identifier " ) ; identifier : : identifier ( ( identifier * ) identifier , identifier , identifier , identifier ) ; if ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier != ( identifier ) number_literal ) { identifier ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier ) ; } if ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier != ( identifier ) number_literal ) { identifier ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier ) ; } if ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier != ( identifier ) number_literal ) { identifier ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier ) ; } if ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier != ( identifier ) number_literal ) { identifier ( identifier . identifier < identifier , identifier : : identifier < identifier > identifier > . identifier . identifier ) ; } identifier : : identifier < identifier : : identifier < primitive_type > identifier > : : identifier ( identifier ) ;) })) (expression_statement "operator_delete(pvVar34);" (call_expression "operator_delete(pvVar34)" identifier (argument_list "(pvVar34)" ( identifier ))) ;) (expression_statement "operator_delete(pvVar33);" (call_expression "operator_delete(pvVar33)" identifier (argument_list "(pvVar33)" ( identifier ))) ;) (return_statement "return;" return ;) }))))
(translation_unit "void FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    \n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}\n\n" (function_definition "void FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    \n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}" primitive_type (function_declarator "FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)" identifier (parameter_list "(uint *param_1,long param_2,long param_3,long *param_4)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_4" (sized_type_specifier "long" long) (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    \n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "char *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "undefined1 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar18;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *__s1;" type_identifier (pointer_declarator "*__s1" * identifier) ;) (declaration "ulong *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "long lVar20;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined8 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "long *plVar25;" (sized_type_specifier "long" long) (pointer_declarator "*plVar25" * identifier) ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "long lVar28;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar29;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar30;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar31;" type_identifier identifier ;) (declaration "ulong uVar32;" type_identifier identifier ;) (declaration "undefined8 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined8 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "size_t sVar35;" primitive_type identifier ;) (declaration "uint *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "uint *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "byte *pbVar39;" type_identifier (pointer_declarator "*pbVar39" * identifier) ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "long *plVar41;" (sized_type_specifier "long" long) (pointer_declarator "*plVar41" * identifier) ;) (declaration "uint uVar42;" type_identifier identifier ;) (declaration "uint uVar43;" type_identifier identifier ;) (declaration "ulong uVar44;" type_identifier identifier ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "bool bVar46;" primitive_type identifier ;) (declaration "bool bVar47;" primitive_type identifier ;) (declaration "byte bVar48;" type_identifier identifier ;) (declaration "void **local_270;" primitive_type (pointer_declarator "**local_270" * (pointer_declarator "*local_270" * identifier)) ;) (declaration "long *local_240;" (sized_type_specifier "long" long) (pointer_declarator "*local_240" * identifier) ;) (declaration "ulong local_238;" type_identifier identifier ;) (declaration "long local_228;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_220;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_210;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_200;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_1f8;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_1f0;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_1c8;" type_identifier identifier ;) (declaration "long local_1c0;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *local_1a0;" type_identifier (pointer_declarator "*local_1a0" * identifier) ;) (declaration "undefined1 local_18d;" type_identifier identifier ;) (declaration "uint local_18c;" type_identifier identifier ;) (declaration "uint *local_188;" type_identifier (pointer_declarator "*local_188" * identifier) ;) (declaration "uint **local_180;" type_identifier (pointer_declarator "**local_180" * (pointer_declarator "*local_180" * identifier)) ;) (declaration "uint *local_178;" type_identifier (pointer_declarator "*local_178" * identifier) ;) (declaration "uint *local_170;" type_identifier (pointer_declarator "*local_170" * identifier) ;) (declaration "uint *local_168;" type_identifier (pointer_declarator "*local_168" * identifier) ;) (declaration "uint *local_158;" type_identifier (pointer_declarator "*local_158" * identifier) ;) (declaration "uint *local_150;" type_identifier (pointer_declarator "*local_150" * identifier) ;) (declaration "undefined8 local_148;" type_identifier identifier ;) (declaration "uint *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "uint *local_130;" type_identifier (pointer_declarator "*local_130" * identifier) ;) (declaration "undefined8 local_128;" type_identifier identifier ;) (declaration "uint *local_118;" type_identifier (pointer_declarator "*local_118" * identifier) ;) (declaration "uint *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "undefined8 local_108;" type_identifier identifier ;) (declaration "uint *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "uint auStack_e8 [4];" type_identifier (array_declarator "auStack_e8 [4]" identifier [ number_literal ]) ;) (declaration "void *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "uint *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "void *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "uint *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "uint auStack_98 [4];" type_identifier (array_declarator "auStack_98 [4]" identifier [ number_literal ]) ;) (declaration "uint local_88;" type_identifier identifier ;) (declaration "undefined8 local_84;" type_identifier identifier ;) (declaration "undefined8 local_7c;" type_identifier identifier ;) (declaration "undefined8 uStack_74;" type_identifier identifier ;) (declaration "undefined8 local_6c;" type_identifier identifier ;) (declaration "undefined8 uStack_64;" type_identifier identifier ;) (declaration "undefined8 local_5c;" type_identifier identifier ;) (declaration "undefined8 uStack_54;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (expression_statement "bVar48 = 0;" (assignment_expression "bVar48 = 0" identifier = number_literal) ;) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = param_1[0xe];" (assignment_expression "uVar2 = param_1[0xe]" identifier = (subscript_expression "param_1[0xe]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);" (assignment_expression "uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" identifier = (pointer_expression "*(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" * (cast_expression "(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar17 == 0) goto LAB_001db857;" if (parenthesized_expression "(lVar17 == 0)" ( (binary_expression "lVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001db857;" goto statement_identifier ;)) (if_statement "if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" if (parenthesized_expression "(*(char *)(lVar17 + 0x2809) == '\0')" ( (binary_expression "*(char *)(lVar17 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar17 + 0x2809)" * (cast_expression "(char *)(lVar17 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x2809)" ( (binary_expression "lVar17 + 0x2809" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }" { (if_statement "if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" if (parenthesized_expression "(*(int *)(lVar17 + 0x9050) == 0)" ( (binary_expression "*(int *)(lVar17 + 0x9050) == 0" (pointer_expression "*(int *)(lVar17 + 0x9050)" * (cast_expression "(int *)(lVar17 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x9050)" ( (binary_expression "lVar17 + 0x9050" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }" { (if_statement "if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }" if (parenthesized_expression "(*(char *)(param_3 + 0x372) == '\0')" ( (binary_expression "*(char *)(param_3 + 0x372) == '\0'" (pointer_expression "*(char *)(param_3 + 0x372)" * (cast_expression "(char *)(param_3 + 0x372)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x372)" ( (binary_expression "param_3 + 0x372" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }" { (if_statement "if (uVar2 == 0) {\n          return;\n        }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "local_1c8 = param_4[2];" (assignment_expression "local_1c8 = param_4[2]" identifier = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "local_1f0 = *(long *)(*param_4 + 0x10);" (assignment_expression "local_1f0 = *(long *)(*param_4 + 0x10)" identifier = (pointer_expression "*(long *)(*param_4 + 0x10)" * (cast_expression "(long *)(*param_4 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + 0x10)" ( (binary_expression "*param_4 + 0x10" (pointer_expression "*param_4" * identifier) + number_literal) ))))) ;) (expression_statement "local_1f8 = param_4[3];" (assignment_expression "local_1f8 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }" if (parenthesized_expression "(local_1f8 != 0)" ( (binary_expression "local_1f8 != 0" identifier != number_literal) )) (compound_statement "{\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }" { (expression_statement "local_1f8 = *(long *)(local_1f8 + 0x10);" (assignment_expression "local_1f8 = *(long *)(local_1f8 + 0x10)" identifier = (pointer_expression "*(long *)(local_1f8 + 0x10)" * (cast_expression "(long *)(local_1f8 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f8 + 0x10)" ( (binary_expression "local_1f8 + 0x10" identifier + number_literal) ))))) ;) })) (expression_statement "local_200 = param_4[4];" (assignment_expression "local_200 = param_4[4]" identifier = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "local_220 = param_4[6];" (assignment_expression "local_220 = param_4[6]" identifier = (subscript_expression "param_4[6]" identifier [ number_literal ])) ;) (if_statement "if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }" if (parenthesized_expression "(local_220 != 0)" ( (binary_expression "local_220 != 0" identifier != number_literal) )) (compound_statement "{\n          local_220 = *(long *)(local_220 + 0x10);\n        }" { (expression_statement "local_220 = *(long *)(local_220 + 0x10);" (assignment_expression "local_220 = *(long *)(local_220 + 0x10)" identifier = (pointer_expression "*(long *)(local_220 + 0x10)" * (cast_expression "(long *)(local_220 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_220 + 0x10)" ( (binary_expression "local_220 + 0x10" identifier + number_literal) ))))) ;) })) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "local_228 = param_4[7];" (assignment_expression "local_228 = param_4[7]" identifier = (subscript_expression "param_4[7]" identifier [ number_literal ])) ;) (expression_statement "local_240 = (long *)0x0;" (assignment_expression "local_240 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1c0 = *(long *)(param_4[1] + 0x10);" (assignment_expression "local_1c0 = *(long *)(param_4[1] + 0x10)" identifier = (pointer_expression "*(long *)(param_4[1] + 0x10)" * (cast_expression "(long *)(param_4[1] + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4[1] + 0x10)" ( (binary_expression "param_4[1] + 0x10" (subscript_expression "param_4[1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (goto_statement "goto LAB_001da266;" goto statement_identifier ;) })) (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" identifier = (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) ))))) ;) (if_statement "if (local_240 != (long *)0x0) goto LAB_001da1f0;" if (parenthesized_expression "(local_240 != (long *)0x0)" ( (binary_expression "local_240 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001da1f0;" goto statement_identifier ;)) }) (else_clause "else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" else (compound_statement "{\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" { (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" identifier = (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) ))))) ;) (if_statement "if (local_240 != (long *)0x0) goto LAB_001db71f;" if (parenthesized_expression "(local_240 != (long *)0x0)" ( (binary_expression "local_240 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001db71f;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" else (compound_statement "{\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" { (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" identifier = (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) ))))) ;) (if_statement "if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }" if (parenthesized_expression "(local_240 != (long *)0x0)" ( (binary_expression "local_240 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }" { (if_statement "if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }" if (parenthesized_expression "(*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0')" ( (binary_expression "*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0'" (pointer_expression "*(char *)(*(long *)(param_2 + 0x290) + 0x18)" * (cast_expression "(char *)(*(long *)(param_2 + 0x290) + 0x18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x290) + 0x18)" ( (binary_expression "*(long *)(param_2 + 0x290) + 0x18" (pointer_expression "*(long *)(param_2 + 0x290)" * (cast_expression "(long *)(param_2 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x59d,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x59d,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" if (parenthesized_expression "(*(int *)(lVar17 + 0x9050) != 0)" ( (binary_expression "*(int *)(lVar17 + 0x9050) != 0" (pointer_expression "*(int *)(lVar17 + 0x9050)" * (cast_expression "(int *)(lVar17 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x9050)" ( (binary_expression "lVar17 + 0x9050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" { (labeled_statement "LAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" statement_identifier : (if_statement "if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" if (parenthesized_expression "(*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0')" ( (binary_expression "*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0'" (pointer_expression "*(char *)(*(long *)(param_2 + 0x298) + 0xa0)" * (cast_expression "(char *)(*(long *)(param_2 + 0x298) + 0xa0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x298) + 0xa0)" ( (binary_expression "*(long *)(param_2 + 0x298) + 0xa0" (pointer_expression "*(long *)(param_2 + 0x298)" * (cast_expression "(long *)(param_2 + 0x298)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x59f,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x59f,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) }))) })) (labeled_statement "LAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }" statement_identifier : (if_statement "if (uVar2 == 0) {\n        return;\n      }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) }))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "local_1f0 = *local_240;" (assignment_expression "local_1f0 = *local_240" identifier = (pointer_expression "*local_240" * identifier)) ;) (expression_statement "local_1f8 = local_240[3];" (assignment_expression "local_1f8 = local_240[3]" identifier = (subscript_expression "local_240[3]" identifier [ number_literal ])) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "local_200 = local_240[4];" (assignment_expression "local_200 = local_240[4]" identifier = (subscript_expression "local_240[4]" identifier [ number_literal ])) ;) (expression_statement "local_1c8 = local_240[2];" (assignment_expression "local_1c8 = local_240[2]" identifier = (subscript_expression "local_240[2]" identifier [ number_literal ])) ;) (expression_statement "local_228 = local_240[7];" (assignment_expression "local_228 = local_240[7]" identifier = (subscript_expression "local_240[7]" identifier [ number_literal ])) ;) (expression_statement "local_220 = local_240[6];" (assignment_expression "local_220 = local_240[6]" identifier = (subscript_expression "local_240[6]" identifier [ number_literal ])) ;) (expression_statement "local_1c0 = local_240[1];" (assignment_expression "local_1c0 = local_240[1]" identifier = (subscript_expression "local_240[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001da266;" goto statement_identifier ;) })) }))) (if_statement "if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }" if (parenthesized_expression "(param_4 == (long *)0x0)" ( (binary_expression "param_4 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x597,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x597,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x597,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (if_statement "if (uVar2 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_240 = (long *)FUN_002d9490(0x40);" (assignment_expression "local_240 = (long *)FUN_002d9490(0x40)" identifier = (cast_expression "(long *)FUN_002d9490(0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);" (call_expression "FUN_001bd460(param_1,local_240,param_4,uVar2 << 6)" identifier (argument_list "(param_1,local_240,param_4,uVar2 << 6)" ( identifier , identifier , identifier , (binary_expression "uVar2 << 6" identifier << number_literal) ))) ;) (expression_statement "local_1f0 = *local_240;" (assignment_expression "local_1f0 = *local_240" identifier = (pointer_expression "*local_240" * identifier)) ;) (expression_statement "*(long **)(param_1 + 0x22) = local_240;" (assignment_expression "*(long **)(param_1 + 0x22) = local_240" (pointer_expression "*(long **)(param_1 + 0x22)" * (cast_expression "(long **)(param_1 + 0x22)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22)" ( (binary_expression "param_1 + 0x22" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_1f8 = local_240[3];" (assignment_expression "local_1f8 = local_240[3]" identifier = (subscript_expression "local_240[3]" identifier [ number_literal ])) ;) (expression_statement "local_1c8 = local_240[2];" (assignment_expression "local_1c8 = local_240[2]" identifier = (subscript_expression "local_240[2]" identifier [ number_literal ])) ;) (expression_statement "local_200 = local_240[4];" (assignment_expression "local_200 = local_240[4]" identifier = (subscript_expression "local_240[4]" identifier [ number_literal ])) ;) (expression_statement "local_220 = local_240[6];" (assignment_expression "local_220 = local_240[6]" identifier = (subscript_expression "local_240[6]" identifier [ number_literal ])) ;) (expression_statement "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_228 = local_240[7];" (assignment_expression "local_228 = local_240[7]" identifier = (subscript_expression "local_240[7]" identifier [ number_literal ])) ;) (expression_statement "local_1c0 = local_240[1];" (assignment_expression "local_1c0 = local_240[1]" identifier = (subscript_expression "local_240[1]" identifier [ number_literal ])) ;) (if_statement "if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(lVar17 == 0)" ( (binary_expression "lVar17 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (labeled_statement "LAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (labeled_statement "LAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);" statement_identifier : (expression_statement "lVar17 = *(long *)(lVar17 + 0x9058);" (assignment_expression "lVar17 = *(long *)(lVar17 + 0x9058)" identifier = (pointer_expression "*(long *)(lVar17 + 0x9058)" * (cast_expression "(long *)(lVar17 + 0x9058)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0x9058)" ( (binary_expression "lVar17 + 0x9058" identifier + number_literal) ))))) ;)) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (if_statement "if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }" if (parenthesized_expression "((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0))" ( (binary_expression "(lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)" (parenthesized_expression "(lVar17 != 0)" ( (binary_expression "lVar17 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)" ( (comma_expression "bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0" (assignment_expression "bVar27 = *(byte *)(lVar17 + 0xb0)" identifier = (pointer_expression "*(byte *)(lVar17 + 0xb0)" * (cast_expression "(byte *)(lVar17 + 0xb0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0xb0)" ( (binary_expression "lVar17 + 0xb0" identifier + number_literal) ))))) , (binary_expression "bVar27 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }" { (expression_statement "bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;" (assignment_expression "bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1" identifier = (binary_expression "*(byte *)(lVar17 + 0xb1) ^ 1" (pointer_expression "*(byte *)(lVar17 + 0xb1)" * (cast_expression "(byte *)(lVar17 + 0xb1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + 0xb1)" ( (binary_expression "lVar17 + 0xb1" identifier + number_literal) )))) ^ number_literal)) ;) })) (expression_statement "uVar44 = (ulong)uVar2;" (assignment_expression "uVar44 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar17 = FUN_002d9490(uVar44 * 4);" (assignment_expression "lVar17 = FUN_002d9490(uVar44 * 4)" identifier = (call_expression "FUN_002d9490(uVar44 * 4)" identifier (argument_list "(uVar44 * 4)" ( (binary_expression "uVar44 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" identifier = number_literal) ;) (do_statement "do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);" do (compound_statement "{\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  }" { (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) (expression_statement "uVar32 = uVar31 + 1;" (assignment_expression "uVar32 = uVar31 + 1" identifier = (binary_expression "uVar31 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(lVar17 + uVar31 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar17 + uVar31 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar17 + uVar31 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar31 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar31 * 4)" ( (binary_expression "lVar17 + uVar31 * 4" identifier + (binary_expression "uVar31 * 4" identifier * number_literal)) )))) = number_literal) ;) }) while (parenthesized_expression "(uVar44 != uVar32)" ( (binary_expression "uVar44 != uVar32" identifier != identifier) )) ;) (expression_statement "lVar18 = FUN_002d9490(uVar44 * 4);" (assignment_expression "lVar18 = FUN_002d9490(uVar44 * 4)" identifier = (call_expression "FUN_002d9490(uVar44 * 4)" identifier (argument_list "(uVar44 * 4)" ( (binary_expression "uVar44 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);" do (compound_statement "{\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  }" { (expression_statement "*(undefined4 *)(lVar18 + uVar21 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar18 + uVar21 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar18 + uVar21 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar21 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar21 * 4)" ( (binary_expression "lVar18 + uVar21 * 4" identifier + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "bVar45 = uVar31 != uVar21;" (assignment_expression "bVar45 = uVar31 != uVar21" identifier = (binary_expression "uVar31 != uVar21" identifier != identifier)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (expression_statement "puVar37 = (uint *)(local_1f0 + 0x40);" (assignment_expression "puVar37 = (uint *)(local_1f0 + 0x40)" identifier = (cast_expression "(uint *)(local_1f0 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x40)" ( (binary_expression "local_1f0 + 0x40" identifier + number_literal) )))) ;) (if_statement "if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n    uVar43 = 0;\n  }" { (expression_statement "uVar43 = 0;" (assignment_expression "uVar43 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" else (compound_statement "{\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" { (expression_statement "uVar42 = 1;" (assignment_expression "uVar42 = 1" identifier = number_literal) ;) (expression_statement "uVar43 = 0;" (assignment_expression "uVar43 = 0" identifier = number_literal) ;) (expression_statement "local_1a0 = puVar37;" (assignment_expression "local_1a0 = puVar37" identifier = identifier) ;) (do_statement "do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);" do (compound_statement "{\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    }" { (if_statement "if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }" if (parenthesized_expression "(bVar27 != 0)" ( (binary_expression "bVar27 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }" { (expression_statement "uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);" (assignment_expression "uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" identifier = (binary_expression "(uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (parenthesized_expression "(uVar43 + 1)" ( (binary_expression "uVar43 + 1" identifier + number_literal) )) - (call_expression "(uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(ulong *)(local_1a0 + 2) & 2) == 0)" ( (binary_expression "(*(ulong *)(local_1a0 + 2) & 2) == 0" (parenthesized_expression "(*(ulong *)(local_1a0 + 2) & 2)" ( (binary_expression "*(ulong *)(local_1a0 + 2) & 2" (pointer_expression "*(ulong *)(local_1a0 + 2)" * (cast_expression "(ulong *)(local_1a0 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1a0 + 2)" ( (binary_expression "local_1a0 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) ))))) ;) })) (expression_statement "uVar4 = local_1a0[1];" (assignment_expression "uVar4 = local_1a0[1]" identifier = (subscript_expression "local_1a0[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }" if (parenthesized_expression "((uVar4 == 9) || (uVar4 == 4))" ( (binary_expression "(uVar4 == 9) || (uVar4 == 4)" (parenthesized_expression "(uVar4 == 9)" ( (binary_expression "uVar4 == 9" identifier == number_literal) )) || (parenthesized_expression "(uVar4 == 4)" ( (binary_expression "uVar4 == 4" identifier == number_literal) ))) )) (compound_statement "{\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }" { (expression_statement "uVar40 = local_1a0[0xb];" (assignment_expression "uVar40 = local_1a0[0xb]" identifier = (subscript_expression "local_1a0[0xb]" identifier [ number_literal ])) ;) (if_statement "if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }" if (parenthesized_expression "(0xfeff < uVar40)" ( (binary_expression "0xfeff < uVar40" number_literal < identifier) )) (compound_statement "{\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }" { (expression_statement "FUN_001682d0(param_1 + 0x3e);" (call_expression "FUN_001682d0(param_1 + 0x3e)" identifier (argument_list "(param_1 + 0x3e)" ( (binary_expression "param_1 + 0x3e" identifier + number_literal) ))) ;) (expression_statement "uVar40 = uVar40 + param_1[0x44];" (assignment_expression "uVar40 = uVar40 + param_1[0x44]" identifier = (binary_expression "uVar40 + param_1[0x44]" identifier + (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) })) (expression_statement "uVar21 = (ulong)uVar40;" (assignment_expression "uVar21 = (ulong)uVar40" identifier = (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" if (parenthesized_expression "((uVar40 == 0) || (uVar2 <= uVar40))" ( (binary_expression "(uVar40 == 0) || (uVar2 <= uVar40)" (parenthesized_expression "(uVar40 == 0)" ( (binary_expression "uVar40 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar2 <= uVar40)" ( (binary_expression "uVar2 <= uVar40" identifier <= identifier) ))) )) (compound_statement "{\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }" { (expression_statement "uVar22 = gettext("relocation section %u has bad info %u");" (assignment_expression "uVar22 = gettext("relocation section %u has bad info %u")" identifier = (call_expression "gettext("relocation section %u has bad info %u")" identifier (argument_list "("relocation section %u has bad info %u")" ( (string_literal ""relocation section %u has bad info %u"" " string_content ") )))) ;) (expression_statement "FUN_001bd150(param_1,uVar22,uVar42,uVar21);" (call_expression "FUN_001bd150(param_1,uVar22,uVar42,uVar21)" identifier (argument_list "(param_1,uVar22,uVar42,uVar21)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" else (compound_statement "{\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" { (expression_statement "puVar36 = (uint *)(lVar17 + uVar21 * 4);" (assignment_expression "puVar36 = (uint *)(lVar17 + uVar21 * 4)" identifier = (cast_expression "(uint *)(lVar17 + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar21 * 4)" ( (binary_expression "lVar17 + uVar21 * 4" identifier + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) ;) (if_statement "if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }" if (parenthesized_expression "(*puVar36 == 0)" ( (binary_expression "*puVar36 == 0" (pointer_expression "*puVar36" * identifier) == number_literal) )) (compound_statement "{\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }" { (expression_statement "*puVar36 = uVar42;" (assignment_expression "*puVar36 = uVar42" (pointer_expression "*puVar36" * identifier) = identifier) ;) (expression_statement "*(uint *)(lVar18 + uVar21 * 4) = uVar4;" (assignment_expression "*(uint *)(lVar18 + uVar21 * 4) = uVar4" (pointer_expression "*(uint *)(lVar18 + uVar21 * 4)" * (cast_expression "(uint *)(lVar18 + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar21 * 4)" ( (binary_expression "lVar18 + uVar21 * 4" identifier + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) = identifier) ;) }) (else_clause "else {\n            *puVar36 = 0xffffffff;\n          }" else (compound_statement "{\n            *puVar36 = 0xffffffff;\n          }" { (expression_statement "*puVar36 = 0xffffffff;" (assignment_expression "*puVar36 = 0xffffffff" (pointer_expression "*puVar36" * identifier) = number_literal) ;) }))) }))) })) (expression_statement "uVar42 = uVar42 + 1;" (assignment_expression "uVar42 = uVar42 + 1" identifier = (binary_expression "uVar42 + 1" identifier + number_literal)) ;) (expression_statement "local_1a0 = local_1a0 + 0x10;" (assignment_expression "local_1a0 = local_1a0 + 0x10" identifier = (binary_expression "local_1a0 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar42 != uVar2)" ( (binary_expression "uVar42 != uVar2" identifier != identifier) )) ;) }))) (if_statement "if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }" { (expression_statement "uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;" (assignment_expression "uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3" identifier = (binary_expression "*(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3" (binary_expression "*(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14)" (pointer_expression "*(long *)(param_1 + 0x16)" * (cast_expression "(long *)(param_1 + 0x16)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" if (parenthesized_expression "(uVar21 < uVar32)" ( (binary_expression "uVar21 < uVar32" identifier < identifier) )) (compound_statement "{\n      FUN_00192810(param_1 + 0x14);\n    }" { (expression_statement "FUN_00192810(param_1 + 0x14);" (call_expression "FUN_00192810(param_1 + 0x14)" identifier (argument_list "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))) ;) }) (else_clause "else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" else (if_statement "if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" if (parenthesized_expression "((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))" ( (binary_expression "(uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28)" (parenthesized_expression "(uVar32 < uVar21)" ( (binary_expression "uVar32 < uVar21" identifier < identifier) )) && (parenthesized_expression "(lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28)" ( (comma_expression "lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28" (assignment_expression "lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8" identifier = (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal))) , (binary_expression "*(long *)(param_1 + 0x16) != lVar28" (pointer_expression "*(long *)(param_1 + 0x16)" * (cast_expression "(long *)(param_1 + 0x16)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" { (expression_statement "*(long *)(param_1 + 0x16) = lVar28;" (assignment_expression "*(long *)(param_1 + 0x16) = lVar28" (pointer_expression "*(long *)(param_1 + 0x16)" * (cast_expression "(long *)(param_1 + 0x16)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16)" ( (binary_expression "param_1 + 0x16" identifier + number_literal) )))) = identifier) ;) })))) (expression_statement "uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;" (assignment_expression "uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3" identifier = (binary_expression "*(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3" (binary_expression "*(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x3a)" * (cast_expression "(long *)(param_1 + 0x3a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3a)" ( (binary_expression "param_1 + 0x3a" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" if (parenthesized_expression "(uVar21 < uVar32)" ( (binary_expression "uVar21 < uVar32" identifier < identifier) )) (compound_statement "{\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }" { (expression_statement "FUN_00167c60(param_1 + 0x38);" (call_expression "FUN_00167c60(param_1 + 0x38)" identifier (argument_list "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))) ;) }) (else_clause "else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" else (if_statement "if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" if (parenthesized_expression "((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))" ( (binary_expression "(uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28)" (parenthesized_expression "(uVar32 < uVar21)" ( (binary_expression "uVar32 < uVar21" identifier < identifier) )) && (parenthesized_expression "(lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28)" ( (comma_expression "lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28" (assignment_expression "lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8" identifier = (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal))) , (binary_expression "*(long *)(param_1 + 0x3a) != lVar28" (pointer_expression "*(long *)(param_1 + 0x3a)" * (cast_expression "(long *)(param_1 + 0x3a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3a)" ( (binary_expression "param_1 + 0x3a" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" { (expression_statement "*(long *)(param_1 + 0x3a) = lVar28;" (assignment_expression "*(long *)(param_1 + 0x3a) = lVar28" (pointer_expression "*(long *)(param_1 + 0x3a)" * (cast_expression "(long *)(param_1 + 0x3a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3a)" ( (binary_expression "param_1 + 0x3a" identifier + number_literal) )))) = identifier) ;) })))) })) (if_statement "if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }" if (parenthesized_expression "(*(long *)(param_1 + 10) == 0)" ( (binary_expression "*(long *)(param_1 + 10) == 0" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n    FUN_001bcf60();\n  }" { (expression_statement "FUN_001bcf60();" (call_expression "FUN_001bcf60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "cVar14 = FUN_0017a850();" (assignment_expression "cVar14 = FUN_0017a850()" identifier = (call_expression "FUN_0017a850()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }" { (if_statement "if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }" if (parenthesized_expression "(uVar43 != 0)" ( (binary_expression "uVar43 != 0" identifier != number_literal) )) (compound_statement "{\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);" (assignment_expression "lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" identifier = (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar24 = *(undefined8 **)(lVar28 + 0x40);" (assignment_expression "puVar24 = *(undefined8 **)(lVar28 + 0x40)" identifier = (pointer_expression "*(undefined8 **)(lVar28 + 0x40)" * (cast_expression "(undefined8 **)(lVar28 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar28 + 0x40)" ( (binary_expression "lVar28 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_188 = param_1;" (assignment_expression "local_188 = param_1" identifier = identifier) ;) (if_statement "if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" if (parenthesized_expression "(puVar24 == *(undefined8 **)(lVar28 + 0x48))" ( (binary_expression "puVar24 == *(undefined8 **)(lVar28 + 0x48)" identifier == (pointer_expression "*(undefined8 **)(lVar28 + 0x48)" * (cast_expression "(undefined8 **)(lVar28 + 0x48)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar28 + 0x48)" ( (binary_expression "lVar28 + 0x48" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }" { (expression_statement "FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);" (call_expression "FUN_001c5890(lVar28 + 0x38,puVar24,&local_188)" identifier (argument_list "(lVar28 + 0x38,puVar24,&local_188)" ( (binary_expression "lVar28 + 0x38" identifier + number_literal) , identifier , (pointer_expression "&local_188" & identifier) ))) ;) }) (else_clause "else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" else (compound_statement "{\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" { (expression_statement "*puVar24 = param_1;" (assignment_expression "*puVar24 = param_1" (pointer_expression "*puVar24" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;" (assignment_expression "*(undefined8 **)(lVar28 + 0x40) = puVar24 + 1" (pointer_expression "*(undefined8 **)(lVar28 + 0x40)" * (cast_expression "(undefined8 **)(lVar28 + 0x40)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar28 + 0x40)" ( (binary_expression "lVar28 + 0x40" identifier + number_literal) )))) = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }))) (expression_statement "lVar28 = *(long *)(param_1 + 0x7a);" (assignment_expression "lVar28 = *(long *)(param_1 + 0x7a)" identifier = (pointer_expression "*(long *)(param_1 + 0x7a)" * (cast_expression "(long *)(param_1 + 0x7a)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (ulong)uVar43;" (assignment_expression "uVar32 = (ulong)uVar43" identifier = (cast_expression "(ulong)uVar43" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }" if (parenthesized_expression "((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32)" ( (binary_expression "(ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32" (call_expression "(ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7)" ( (binary_expression "(*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7" (parenthesized_expression "(*(long *)(param_1 + 0x7e) - lVar28 >> 4)" ( (binary_expression "*(long *)(param_1 + 0x7e) - lVar28 >> 4" (binary_expression "*(long *)(param_1 + 0x7e) - lVar28" (pointer_expression "*(long *)(param_1 + 0x7e)" * (cast_expression "(long *)(param_1 + 0x7e)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7e)" ( (binary_expression "param_1 + 0x7e" identifier + number_literal) )))) - identifier) >> number_literal) )) * number_literal) ))) < identifier) )) (compound_statement "{\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }" { (expression_statement "lVar20 = *(long *)(param_1 + 0x7c);" (assignment_expression "lVar20 = *(long *)(param_1 + 0x7c)" identifier = (pointer_expression "*(long *)(param_1 + 0x7c)" * (cast_expression "(long *)(param_1 + 0x7c)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(uVar32 * 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(uVar32 * 0x70)" identifier (argument_list "(uVar32 * 0x70)" ( (binary_expression "uVar32 * 0x70" identifier * number_literal) ))))) ;) (if_statement "if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }" if (parenthesized_expression "(lVar28 != lVar20)" ( (binary_expression "lVar28 != lVar20" identifier != identifier) )) (compound_statement "{\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }" { (expression_statement "puVar23 = (undefined8 *)(lVar28 + 0x10);" (assignment_expression "puVar23 = (undefined8 *)(lVar28 + 0x10)" identifier = (cast_expression "(undefined8 *)(lVar28 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x10)" ( (binary_expression "lVar28 + 0x10" identifier + number_literal) )))) ;) (expression_statement "puVar34 = puVar24;" (assignment_expression "puVar34 = puVar24" identifier = identifier) ;) (do_statement "do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);" do (compound_statement "{\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          }" { (expression_statement "*puVar34 = puVar34 + 2;" (assignment_expression "*puVar34 = puVar34 + 2" (pointer_expression "*puVar34" * identifier) = (binary_expression "puVar34 + 2" identifier + number_literal)) ;) (if_statement "if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" if (parenthesized_expression "((undefined8 *)puVar23[-2] == puVar23)" ( (binary_expression "(undefined8 *)puVar23[-2] == puVar23" (cast_expression "(undefined8 *)puVar23[-2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar23[-2]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }" { (expression_statement "uVar22 = puVar23[1];" (assignment_expression "uVar22 = puVar23[1]" identifier = (subscript_expression "puVar23[1]" identifier [ number_literal ])) ;) (expression_statement "puVar34[2] = *puVar23;" (assignment_expression "puVar34[2] = *puVar23" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = (pointer_expression "*puVar23" * identifier)) ;) (expression_statement "puVar34[3] = uVar22;" (assignment_expression "puVar34[3] = uVar22" (subscript_expression "puVar34[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" else (compound_statement "{\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" { (expression_statement "*puVar34 = (undefined8 *)puVar23[-2];" (assignment_expression "*puVar34 = (undefined8 *)puVar23[-2]" (pointer_expression "*puVar34" * identifier) = (cast_expression "(undefined8 *)puVar23[-2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar23[-2]" identifier [ number_literal ]))) ;) (expression_statement "puVar34[2] = *puVar23;" (assignment_expression "puVar34[2] = *puVar23" (subscript_expression "puVar34[2]" identifier [ number_literal ]) = (pointer_expression "*puVar23" * identifier)) ;) }))) (expression_statement "puVar33 = puVar34 + 0xe;" (assignment_expression "puVar33 = puVar34 + 0xe" identifier = (binary_expression "puVar34 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar34[1] = puVar23[-1];" (assignment_expression "puVar34[1] = puVar23[-1]" (subscript_expression "puVar34[1]" identifier [ number_literal ]) = (subscript_expression "puVar23[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar23[-2] = puVar23;" (assignment_expression "puVar23[-2] = puVar23" (subscript_expression "puVar23[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar23[-1] = 0;" (assignment_expression "puVar23[-1] = 0" (subscript_expression "puVar23[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)puVar23 = 0;" (assignment_expression "*(undefined1 *)puVar23 = 0" (pointer_expression "*(undefined1 *)puVar23" * (cast_expression "(undefined1 *)puVar23" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);" (assignment_expression "*(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2)" (pointer_expression "*(undefined4 *)(puVar34 + 4)" * (cast_expression "(undefined4 *)(puVar34 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 4)" ( (binary_expression "puVar34 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar23 + 2)" * (cast_expression "(undefined4 *)(puVar23 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 2)" ( (binary_expression "puVar23 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);" (assignment_expression "*(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14)" (pointer_expression "*(undefined4 *)((long)puVar34 + 0x24)" * (cast_expression "(undefined4 *)((long)puVar34 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x24)" ( (binary_expression "(long)puVar34 + 0x24" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((long)puVar23 + 0x14)" * (cast_expression "(undefined4 *)((long)puVar23 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x14)" ( (binary_expression "(long)puVar23 + 0x14" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);" (assignment_expression "*(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3)" (pointer_expression "*(undefined4 *)(puVar34 + 5)" * (cast_expression "(undefined4 *)(puVar34 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 5)" ( (binary_expression "puVar34 + 5" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar23 + 3)" * (cast_expression "(undefined4 *)(puVar23 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 3)" ( (binary_expression "puVar23 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x24);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x24)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x24)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x24)" ( (binary_expression "(long)puVar23 + 0x24" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x2c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x2c)" ( (binary_expression "(long)puVar34 + 0x2c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x1c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x1c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x1c)" ( (binary_expression "(long)puVar23 + 0x1c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x34) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x34) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x34)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x34)" ( (binary_expression "(long)puVar34 + 0x34" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x34);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x34)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x34)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x34)" ( (binary_expression "(long)puVar23 + 0x34" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x3c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x3c)" ( (binary_expression "(long)puVar34 + 0x3c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x2c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x2c)" ( (binary_expression "(long)puVar23 + 0x2c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x44) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x44) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x44)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x44)" ( (binary_expression "(long)puVar34 + 0x44" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x44);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x44)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x44)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x44)" ( (binary_expression "(long)puVar23 + 0x44" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x4c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x4c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x4c)" ( (binary_expression "(long)puVar34 + 0x4c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x3c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x3c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x3c)" ( (binary_expression "(long)puVar23 + 0x3c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x54) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x54) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x54)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x54)" ( (binary_expression "(long)puVar34 + 0x54" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x54);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x54)" identifier = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x54)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x54)" ( (binary_expression "(long)puVar23 + 0x54" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x5c)" * (cast_expression "(undefined8 *)((long)puVar34 + 0x5c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 0x5c)" ( (binary_expression "(long)puVar34 + 0x5c" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)((long)puVar23 + 0x4c)" * (cast_expression "(undefined8 *)((long)puVar23 + 0x4c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + 0x4c)" ( (binary_expression "(long)puVar23 + 0x4c" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)puVar34 + 100) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 100) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 100)" * (cast_expression "(undefined8 *)((long)puVar34 + 100)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar34 + 100)" ( (binary_expression "(long)puVar34 + 100" (cast_expression "(long)puVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar23 = puVar23 + 0xe;" (assignment_expression "puVar23 = puVar23 + 0xe" identifier = (binary_expression "puVar23 + 0xe" identifier + number_literal)) ;) (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" identifier = identifier) ;) }) while (parenthesized_expression "(puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe)" ( (binary_expression "puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" identifier != (binary_expression "puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" identifier + (binary_expression "((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" (parenthesized_expression "((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1)" ( (binary_expression "(((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1" (parenthesized_expression "(((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff)" ( (binary_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff" (binary_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7" (parenthesized_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4)" ( (binary_expression "(ulong)((lVar20 + -0x70) - lVar28) >> 4" (call_expression "(ulong)((lVar20 + -0x70) - lVar28)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((lVar20 + -0x70) - lVar28)" ( (binary_expression "(lVar20 + -0x70) - lVar28" (parenthesized_expression "(lVar20 + -0x70)" ( (binary_expression "lVar20 + -0x70" identifier + number_literal) )) - identifier) ))) >> number_literal) )) * number_literal) & number_literal) )) + number_literal) )) * number_literal))) )) ;) })) (expression_statement "plVar25 = *(long **)(param_1 + 0x7c);" (assignment_expression "plVar25 = *(long **)(param_1 + 0x7c)" identifier = (pointer_expression "*(long **)(param_1 + 0x7c)" * (cast_expression "(long **)(param_1 + 0x7c)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "plVar41 = *(long **)(param_1 + 0x7a);" (assignment_expression "plVar41 = *(long **)(param_1 + 0x7a)" identifier = (pointer_expression "*(long **)(param_1 + 0x7a)" * (cast_expression "(long **)(param_1 + 0x7a)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) ))))) ;) (if_statement "if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }" if (parenthesized_expression "(plVar25 != plVar41)" ( (binary_expression "plVar25 != plVar41" identifier != identifier) )) (compound_statement "{\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }" { (do_statement "do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);" do (compound_statement "{\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          }" { (if_statement "if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }" if (parenthesized_expression "((long *)*plVar41 != plVar41 + 2)" ( (binary_expression "(long *)*plVar41 != plVar41 + 2" (cast_expression "(long *)*plVar41" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar41" * identifier)) != (binary_expression "plVar41 + 2" identifier + number_literal)) )) (compound_statement "{\n              FUN_002dac60();\n            }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "plVar41 = plVar41 + 0xe;" (assignment_expression "plVar41 = plVar41 + 0xe" identifier = (binary_expression "plVar41 + 0xe" identifier + number_literal)) ;) }) while (parenthesized_expression "(plVar25 != plVar41)" ( (binary_expression "plVar25 != plVar41" identifier != identifier) )) ;) (expression_statement "plVar41 = *(long **)(param_1 + 0x7a);" (assignment_expression "plVar41 = *(long **)(param_1 + 0x7a)" identifier = (pointer_expression "*(long **)(param_1 + 0x7a)" * (cast_expression "(long **)(param_1 + 0x7a)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) ))))) ;) })) (if_statement "if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }" if (parenthesized_expression "(plVar41 != (long *)0x0)" ( (binary_expression "plVar41 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          FUN_002dac60(plVar41);\n        }" { (expression_statement "FUN_002dac60(plVar41);" (call_expression "FUN_002dac60(plVar41)" identifier (argument_list "(plVar41)" ( identifier ))) ;) })) (expression_statement "*(undefined8 **)(param_1 + 0x7a) = puVar24;" (assignment_expression "*(undefined8 **)(param_1 + 0x7a) = puVar24" (pointer_expression "*(undefined8 **)(param_1 + 0x7a)" * (cast_expression "(undefined8 **)(param_1 + 0x7a)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7a)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;" (assignment_expression "*(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24" (pointer_expression "*(long *)(param_1 + 0x7c)" * (cast_expression "(long *)(param_1 + 0x7c)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = (binary_expression "(lVar20 - lVar28) + (long)puVar24" (parenthesized_expression "(lVar20 - lVar28)" ( (binary_expression "lVar20 - lVar28" identifier - identifier) )) + (cast_expression "(long)puVar24" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "*(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;" (assignment_expression "*(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe" (pointer_expression "*(undefined8 **)(param_1 + 0x7e)" * (cast_expression "(undefined8 **)(param_1 + 0x7e)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x7e)" ( (binary_expression "param_1 + 0x7e" identifier + number_literal) )))) = (binary_expression "puVar24 + uVar32 * 0xe" identifier + (binary_expression "uVar32 * 0xe" identifier * number_literal))) ;) })) (expression_statement "*(undefined1 *)((long)param_1 + 0x1e1) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x1e1) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x1e1)" * (cast_expression "(undefined1 *)((long)param_1 + 0x1e1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) })) (expression_statement "local_d8 = (void *)0x0;" (assignment_expression "local_d8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (uint *)0x0;" (assignment_expression "local_c8 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sVar35 = (uVar31 + 0x40 >> 6) * 8;" (assignment_expression "sVar35 = (uVar31 + 0x40 >> 6) * 8" identifier = (binary_expression "(uVar31 + 0x40 >> 6) * 8" (parenthesized_expression "(uVar31 + 0x40 >> 6)" ( (binary_expression "uVar31 + 0x40 >> 6" (binary_expression "uVar31 + 0x40" identifier + number_literal) >> number_literal) )) * number_literal)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_b8 = (void *)0x0;" (assignment_expression "local_b8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d8 = (void *)FUN_002d9490(sVar35);" (assignment_expression "local_d8 = (void *)FUN_002d9490(sVar35)" identifier = (cast_expression "(void *)FUN_002d9490(sVar35)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(sVar35)" identifier (argument_list "(sVar35)" ( identifier ))))) ;) (expression_statement "local_b8 = (void *)((long)local_d8 + sVar35);" (assignment_expression "local_b8 = (void *)((long)local_d8 + sVar35)" identifier = (cast_expression "(void *)((long)local_d8 + sVar35)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + sVar35)" ( (binary_expression "(long)local_d8 + sVar35" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);" (assignment_expression "local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8)" identifier = (cast_expression "(uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + ((long)uVar44 >> 6) * 8)" ( (binary_expression "(long)local_d8 + ((long)uVar44 >> 6) * 8" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((long)uVar44 >> 6) * 8" (parenthesized_expression "((long)uVar44 >> 6)" ( (binary_expression "(long)uVar44 >> 6" (cast_expression "(long)uVar44" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal) )) * number_literal)) )))) ;) (expression_statement "local_c0 = uVar2 & 0x3f;" (assignment_expression "local_c0 = uVar2 & 0x3f" identifier = (binary_expression "uVar2 & 0x3f" identifier & number_literal)) ;) (expression_statement "local_a8 = local_c8;" (assignment_expression "local_a8 = local_c8" identifier = identifier) ;) (expression_statement "local_a0 = local_c0;" (assignment_expression "local_a0 = local_c0" identifier = identifier) ;) (expression_statement "memset(local_d8,0,sVar35);" (call_expression "memset(local_d8,0,sVar35)" identifier (argument_list "(local_d8,0,sVar35)" ( identifier , number_literal , identifier ))) ;) (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "cVar14 = *(char *)(lVar28 + 0x5051);" (assignment_expression "cVar14 = *(char *)(lVar28 + 0x5051)" identifier = (pointer_expression "*(char *)(lVar28 + 0x5051)" * (cast_expression "(char *)(lVar28 + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x5051)" ( (binary_expression "lVar28 + 0x5051" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = cVar14;" (assignment_expression "cVar1 = cVar14" identifier = identifier) ;) (if_statement "if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }" { (expression_statement "cVar1 = *(char *)(lVar28 + 0x4ec1);" (assignment_expression "cVar1 = *(char *)(lVar28 + 0x4ec1)" identifier = (pointer_expression "*(char *)(lVar28 + 0x4ec1)" * (cast_expression "(char *)(lVar28 + 0x4ec1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x4ec1)" ( (binary_expression "lVar28 + 0x4ec1" identifier + number_literal) ))))) ;) })) (expression_statement "local_178 = (uint *)0x0;" (assignment_expression "local_178 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_170 = (uint *)0x0;" (assignment_expression "local_170 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_168 = (uint *)0x0;" (assignment_expression "local_168 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_158 = (uint *)0x0;" (assignment_expression "local_158 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_150 = (uint *)0x0;" (assignment_expression "local_150 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (expression_statement "local_138 = (uint *)0x0;" (assignment_expression "local_138 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_130 = (uint *)0x0;" (assignment_expression "local_130 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_128 = 0;" (assignment_expression "local_128 = 0" identifier = number_literal) ;) (expression_statement "local_118 = (uint *)0x0;" (assignment_expression "local_118 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_110 = (uint *)0x0;" (assignment_expression "local_110 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" identifier = number_literal) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (if_statement "if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }" { (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001da530:\n      local_270 = &local_d8;" statement_identifier : (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;)) (if_statement "if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }" { (expression_statement "FUN_001a5430(param_3,param_1);" (call_expression "FUN_001a5430(param_3,param_1)" identifier (argument_list "(param_3,param_1)" ( identifier , identifier ))) ;) (expression_statement "FUN_001a5350(param_3,uVar10,local_238,param_1);" (call_expression "FUN_001a5350(param_3,uVar10,local_238,param_1)" identifier (argument_list "(param_3,uVar10,local_238,param_1)" ( identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }" { (if_statement "if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }" if (parenthesized_expression "(local_158 != local_150)" ( (binary_expression "local_158 != local_150" identifier != identifier) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x751,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x751,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x751,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" else (if_statement "if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" if (parenthesized_expression "(local_158 != local_150)" ( (binary_expression "local_158 != local_150" identifier != identifier) )) (compound_statement "{\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" { (expression_statement "puVar37 = local_158;" (assignment_expression "puVar37 = local_158" identifier = identifier) ;) (do_statement "do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);" do (compound_statement "{\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        }" { (expression_statement "uVar3 = *puVar37;" (assignment_expression "uVar3 = *puVar37" identifier = (pointer_expression "*puVar37" * identifier)) ;) (expression_statement "local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);" (assignment_expression "local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0)" identifier = (cast_expression "(uint *)((ulong)(uVar3 << 6) + local_1f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar3 << 6) + local_1f0)" ( (binary_expression "(ulong)(uVar3 << 6) + local_1f0" (call_expression "(ulong)(uVar3 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 << 6)" ( (binary_expression "uVar3 << 6" identifier << number_literal) ))) + identifier) )))) ;) (expression_statement "FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));" (call_expression "FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4))" identifier (argument_list "(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4))" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&local_a8" & identifier) , (pointer_expression "*(undefined4 *)(lVar17 + (ulong)uVar3 * 4)" * (cast_expression "(undefined4 *)(lVar17 + (ulong)uVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + (ulong)uVar3 * 4)" ( (binary_expression "lVar17 + (ulong)uVar3 * 4" identifier + (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) , (pointer_expression "*(undefined4 *)(lVar18 + (ulong)uVar3 * 4)" * (cast_expression "(undefined4 *)(lVar18 + (ulong)uVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + (ulong)uVar3 * 4)" ( (binary_expression "lVar18 + (ulong)uVar3 * 4" identifier + (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ))) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_150 != puVar37)" ( (binary_expression "local_150 != puVar37" identifier != identifier) )) ;) })))) (if_statement "if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_001bfe80(param_1);\n      }" { (expression_statement "FUN_001bfe80(param_1);" (call_expression "FUN_001bfe80(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) })) (if_statement "if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }" { (if_statement "if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }" if (parenthesized_expression "(local_178 != local_170)" ( (binary_expression "local_178 != local_170" identifier != identifier) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x76c,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x76c,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" else (if_statement "if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" if (parenthesized_expression "(local_178 != local_170)" ( (binary_expression "local_178 != local_170" identifier != identifier) )) (compound_statement "{\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" { (expression_statement "local_1a0 = local_178;" (assignment_expression "local_1a0 = local_178" identifier = identifier) ;) (do_statement "do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);" do (compound_statement "{\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        }" { (expression_statement "uVar3 = *local_1a0;" (assignment_expression "uVar3 = *local_1a0" identifier = (pointer_expression "*local_1a0" * identifier)) ;) (expression_statement "uVar32 = (ulong)uVar3;" (assignment_expression "uVar32 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);" (assignment_expression "puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0)" identifier = (cast_expression "(uint *)((ulong)(uVar3 << 6) + local_1f0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar3 << 6) + local_1f0)" ( (binary_expression "(ulong)(uVar3 << 6) + local_1f0" (call_expression "(ulong)(uVar3 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 << 6)" ( (binary_expression "uVar3 << 6" identifier << number_literal) ))) + identifier) )))) ;) (expression_statement "uVar43 = puVar37[0xb];" (assignment_expression "uVar43 = puVar37[0xb]" identifier = (subscript_expression "puVar37[0xb]" identifier [ number_literal ])) ;) (expression_statement "local_f8 = puVar37;" (assignment_expression "local_f8 = puVar37" identifier = identifier) ;) (if_statement "if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }" if (parenthesized_expression "(0xfeff < uVar43)" ( (binary_expression "0xfeff < uVar43" number_literal < identifier) )) (compound_statement "{\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }" { (expression_statement "FUN_001682d0(param_1 + 0x3e);" (call_expression "FUN_001682d0(param_1 + 0x3e)" identifier (argument_list "(param_1 + 0x3e)" ( (binary_expression "param_1 + 0x3e" identifier + number_literal) ))) ;) (expression_statement "uVar43 = uVar43 + param_1[0x44];" (assignment_expression "uVar43 = uVar43 + param_1[0x44]" identifier = (binary_expression "uVar43 + param_1[0x44]" identifier + (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) })) (if_statement "if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }" if (parenthesized_expression "(uVar43 < uVar2)" ( (binary_expression "uVar43 < uVar2" identifier < identifier) )) (compound_statement "{\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }" { (expression_statement "lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);" (assignment_expression "lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "(ulong)uVar43 * 8" (cast_expression "(ulong)uVar43" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" if (parenthesized_expression "(lVar28 == 2)" ( (binary_expression "lVar28 == 2" identifier == number_literal) )) (compound_statement "{\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }" { (if_statement "if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }" { (expression_statement "uVar43 = local_f8[1];" (assignment_expression "uVar43 = local_f8[1]" identifier = (subscript_expression "local_f8[1]" identifier [ number_literal ])) ;) (expression_statement "FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);" (call_expression "FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0)" identifier (argument_list "(&local_a8,(ulong)*local_f8 + local_1c0)" ( (pointer_expression "&local_a8" & identifier) , (binary_expression "(ulong)*local_f8 + local_1c0" (binary_expression "(ulong)*local_f8" (parenthesized_expression "(ulong)" ( identifier )) * identifier) + identifier) ))) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 2)" * (cast_expression "(undefined8 *)(puVar37 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 2)" ( (binary_expression "puVar37 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 4)" * (cast_expression "(undefined8 *)(puVar37 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 4)" ( (binary_expression "puVar37 + 4" identifier + number_literal) ))))) ;) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 6)" * (cast_expression "(undefined8 *)(puVar37 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 6)" ( (binary_expression "puVar37 + 6" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 8)" * (cast_expression "(undefined8 *)(puVar37 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 8)" ( (binary_expression "puVar37 + 8" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 10)" * (cast_expression "(undefined8 *)(puVar37 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 10)" ( (binary_expression "puVar37 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" * (cast_expression "(undefined8 *)(puVar37 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xc)" ( (binary_expression "puVar37 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" * (cast_expression "(undefined8 *)(puVar37 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xe)" ( (binary_expression "puVar37 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" identifier . field_identifier) = (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" ( identifier )) * (cast_expression "(undefined8 *)puVar37" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_7c = CONCAT44(uVar43,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar43,(undefined4)local_7c)" identifier = (call_expression "CONCAT44(uVar43,(undefined4)local_7c)" identifier (argument_list "(uVar43,(undefined4)local_7c)" ( identifier , (cast_expression "(undefined4)local_7c" ( (type_descriptor "undefined4" type_identifier) ) identifier) )))) ;) (expression_statement "local_88 = uVar3;" (assignment_expression "local_88 = uVar3" identifier = identifier) ;) (expression_statement "FUN_001d6880(param_1 + 0x80,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x80,&local_a8)" identifier (argument_list "(param_1 + 0x80,&local_a8)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (pointer_expression "&local_a8" & identifier) ))) ;) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                  FUN_002dac60();\n                }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) })) }) (else_clause "else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" else (if_statement "if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" { (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" else (compound_statement "{\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" { (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(0x28);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(0x28)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24[1] = 0;" (assignment_expression "puVar24[1] = 0" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24[2] = 0;" (assignment_expression "puVar24[2] = 0" (subscript_expression "puVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24[3] = 0;" (assignment_expression "puVar24[3] = 0" (subscript_expression "puVar24[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24[4] = 0;" (assignment_expression "puVar24[4] = 0" (subscript_expression "puVar24[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" if (parenthesized_expression "(param_1[0xe] <= uVar3)" ( (binary_expression "param_1[0xe] <= uVar3" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" { (expression_statement "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;" (assignment_expression "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24" (pointer_expression "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8)" * (cast_expression "(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(param_1 + 0x1a) + uVar32 * 8)" ( (binary_expression "**(long **)(param_1 + 0x1a) + uVar32 * 8" (pointer_expression "**(long **)(param_1 + 0x1a)" * (pointer_expression "*(long **)(param_1 + 0x1a)" * (cast_expression "(long **)(param_1 + 0x1a)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1a)" ( (binary_expression "param_1 + 0x1a" identifier + number_literal) ))))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);" (assignment_expression "uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28)" identifier = (call_expression "FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28)" identifier (argument_list "(param_3,param_1,uVar32,&local_f8,lVar28)" ( identifier , identifier , identifier , (pointer_expression "&local_f8" & identifier) , identifier )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) }))))) })) (expression_statement "local_1a0 = local_1a0 + 1;" (assignment_expression "local_1a0 = local_1a0 + 1" identifier = (binary_expression "local_1a0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_170 != local_1a0)" ( (binary_expression "local_170 != local_1a0" identifier != identifier) )) ;) })))) (if_statement "if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }" { (if_statement "if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }" if (parenthesized_expression "((local_130 != local_138) || (local_110 != local_118))" ( (binary_expression "(local_130 != local_138) || (local_110 != local_118)" (parenthesized_expression "(local_130 != local_138)" ( (binary_expression "local_130 != local_138" identifier != identifier) )) || (parenthesized_expression "(local_110 != local_118)" ( (binary_expression "local_110 != local_118" identifier != identifier) ))) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x7a0,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) }) (else_clause "else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" else (compound_statement "{\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" { (expression_statement "puVar37 = local_138;" (assignment_expression "puVar37 = local_138" identifier = identifier) ;) (if_statement "if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }" if (parenthesized_expression "(local_130 != local_138)" ( (binary_expression "local_130 != local_138" identifier != identifier) )) (compound_statement "{\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }" { (do_statement "do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);" do (compound_statement "{\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          }" { (expression_statement "uVar32 = (ulong)*puVar37;" (assignment_expression "uVar32 = (ulong)*puVar37" identifier = (binary_expression "(ulong)*puVar37" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));" (call_expression "FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" identifier (argument_list "(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" ( identifier , number_literal , identifier , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) , (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) ))) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_130 != puVar37)" ( (binary_expression "local_130 != puVar37" identifier != identifier) )) ;) })) (expression_statement "puVar37 = local_118;" (assignment_expression "puVar37 = local_118" identifier = identifier) ;) (if_statement "if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }" if (parenthesized_expression "(local_118 != local_110)" ( (binary_expression "local_118 != local_110" identifier != identifier) )) (compound_statement "{\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }" { (do_statement "do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);" do (compound_statement "{\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          }" { (expression_statement "uVar32 = (ulong)*puVar37;" (assignment_expression "uVar32 = (ulong)*puVar37" identifier = (binary_expression "(ulong)*puVar37" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));" (call_expression "FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" identifier (argument_list "(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" ( identifier , number_literal , identifier , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) , (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) ))) ;) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" identifier = (binary_expression "puVar37 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_110 != puVar37)" ( (binary_expression "local_110 != puVar37" identifier != identifier) )) ;) })) }))) (if_statement "if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }" { (if_statement "if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(*local_240 != 0)" ( (binary_expression "*local_240 != 0" (pointer_expression "*local_240" * identifier) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(local_240[1] != 0)" ( (binary_expression "local_240[1] != 0" (subscript_expression "local_240[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(local_240[3] != 0)" ( (binary_expression "local_240[3] != 0" (subscript_expression "local_240[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }" if (parenthesized_expression "(local_240[6] != 0)" ( (binary_expression "local_240[6] != 0" (subscript_expression "local_240[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" { (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x23] = 0;" (assignment_expression "param_1[0x23] = 0" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" else (compound_statement "{\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" { (expression_statement "lVar28 = *param_4;" (assignment_expression "lVar28 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (if_statement "if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "lVar28 = param_4[1];" (assignment_expression "lVar28 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" * identifier) = number_literal) ;) (if_statement "if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) = number_literal) ;) }))) (if_statement "if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_118 != (uint *)0x0)" ( (binary_expression "local_118 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_138 != (uint *)0x0)" ( (binary_expression "local_138 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_158 != (uint *)0x0)" ( (binary_expression "local_158 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }" if (parenthesized_expression "(local_178 != (uint *)0x0)" ( (binary_expression "local_178 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_002dac60();\n      }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001d5cd0(local_270);" (call_expression "FUN_001d5cd0(local_270)" identifier (argument_list "(local_270)" ( identifier ))) ;) (expression_statement "FUN_002dac60(lVar18);" (call_expression "FUN_002dac60(lVar18)" identifier (argument_list "(lVar18)" ( identifier ))) ;) (expression_statement "FUN_002dac60(lVar17);" (call_expression "FUN_002dac60(lVar17)" identifier (argument_list "(lVar17)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar43 = *(uint *)(local_1f0 + 0x44);" (assignment_expression "uVar43 = *(uint *)(local_1f0 + 0x44)" identifier = (pointer_expression "*(uint *)(local_1f0 + 0x44)" * (cast_expression "(uint *)(local_1f0 + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x44)" ( (binary_expression "local_1f0 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);" (assignment_expression "uVar32 = (ulong)*(uint *)(local_1f0 + 0x40)" identifier = (binary_expression "(ulong)*(uint *)(local_1f0 + 0x40)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(local_1f0 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1f0 + 0x40)" ( (binary_expression "local_1f0 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "local_188 = puVar37;" (assignment_expression "local_188 = puVar37" identifier = identifier) ;) (if_statement "if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }" if (parenthesized_expression "(uVar32 < local_1c8)" ( (binary_expression "uVar32 < local_1c8" identifier < identifier) )) (compound_statement "{\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }" { (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" identifier = number_literal) ;) (do_statement "do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);" do (compound_statement "{\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      }" { (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "__s1 = (byte *)(local_1c0 + uVar32);" (assignment_expression "__s1 = (byte *)(local_1c0 + uVar32)" identifier = (cast_expression "(byte *)(local_1c0 + uVar32)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1c0 + uVar32)" ( (binary_expression "local_1c0 + uVar32" identifier + identifier) )))) ;) (expression_statement "local_188 = puVar37;" (assignment_expression "local_188 = puVar37" identifier = identifier) ;) (if_statement "if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }" { (labeled_statement "LAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" statement_identifier : (if_statement "if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }" { (expression_statement "cVar15 = FUN_001bd560(param_1,__s1);" (assignment_expression "cVar15 = FUN_001bd560(param_1,__s1)" identifier = (call_expression "FUN_001bd560(param_1,__s1)" identifier (argument_list "(param_1,__s1)" ( identifier , identifier )))) ;) (if_statement "if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }" if (parenthesized_expression "(((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2))" ( (binary_expression "((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)" (parenthesized_expression "((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  )" ( (binary_expression "(cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')" (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')" ( (comma_expression "cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0'" (assignment_expression "cVar15 = FUN_001a4e50(param_3,param_1,__s1)" identifier = (call_expression "FUN_001a4e50(param_3,param_1,__s1)" identifier (argument_list "(param_3,param_1,__s1)" ( identifier , identifier , identifier )))) , (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) || (parenthesized_expression "(uVar43 - 0xe < 2)" ( (binary_expression "uVar43 - 0xe < 2" (binary_expression "uVar43 - 0xe" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }" { (expression_statement "local_a0 = local_18c;" (assignment_expression "local_a0 = local_18c" identifier = identifier) ;) (expression_statement "local_a8 = param_1;" (assignment_expression "local_a8 = param_1" identifier = identifier) ;) (expression_statement "FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);" (call_expression "FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8)" identifier (argument_list "(*(undefined8 *)(param_2 + 0x290),&local_a8)" ( (pointer_expression "*(undefined8 *)(param_2 + 0x290)" * (cast_expression "(undefined8 *)(param_2 + 0x290)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) )))) , (pointer_expression "&local_a8" & identifier) ))) ;) })) (expression_statement "sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");" (assignment_expression "sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" identifier = (call_expression "strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" identifier (argument_list "((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"" " string_content ") )))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }" if (parenthesized_expression "(__s1[sVar35] == 0)" ( (binary_expression "__s1[sVar35] == 0" (subscript_expression "__s1[sVar35]" identifier [ identifier ]) == number_literal) )) (compound_statement "{\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }" { (expression_statement "lVar28 = *(long *)(param_2 + 0x290);" (assignment_expression "lVar28 = *(long *)(param_2 + 0x290)" identifier = (pointer_expression "*(long *)(param_2 + 0x290)" * (cast_expression "(long *)(param_2 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" identifier (argument_list "(&local_a8,__s1)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "puVar13 = local_a8;" (assignment_expression "puVar13 = local_a8" identifier = identifier) ;) (expression_statement "puVar36 = (uint *)(lVar28 + 0x90);" (assignment_expression "puVar36 = (uint *)(lVar28 + 0x90)" identifier = (cast_expression "(uint *)(lVar28 + 0x90)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x90)" ( (binary_expression "lVar28 + 0x90" identifier + number_literal) )))) ;) (expression_statement "local_f0 = uVar42;" (assignment_expression "local_f0 = uVar42" identifier = identifier) ;) (expression_statement "local_f8 = param_1;" (assignment_expression "local_f8 = param_1" identifier = identifier) ;) (if_statement "if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" if (parenthesized_expression "(*(long *)(lVar28 + 0x98) == 0)" ( (binary_expression "*(long *)(lVar28 + 0x98) == 0" (pointer_expression "*(long *)(lVar28 + 0x98)" * (cast_expression "(long *)(lVar28 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x98)" ( (binary_expression "lVar28 + 0x98" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }" { (labeled_statement "LAB_001db58d:\n                  local_180 = &local_a8;" statement_identifier : (expression_statement "local_180 = &local_a8;" (assignment_expression "local_180 = &local_a8" identifier = (pointer_expression "&local_a8" & identifier)) ;)) (expression_statement "local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);" (assignment_expression "local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" identifier = (cast_expression "(uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" identifier (argument_list "(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" ( (binary_expression "lVar28 + 0x88" identifier + number_literal) , identifier , (pointer_expression "&DAT_003798ac" & identifier) , (pointer_expression "&local_180" & identifier) , (pointer_expression "&local_18d" & identifier) ))))) ;) }) (else_clause "else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" else (compound_statement "{\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" { (expression_statement "uVar32 = CONCAT44(uStack_9c,local_a0);" (assignment_expression "uVar32 = CONCAT44(uStack_9c,local_a0)" identifier = (call_expression "CONCAT44(uStack_9c,local_a0)" identifier (argument_list "(uStack_9c,local_a0)" ( identifier , identifier )))) ;) (expression_statement "lVar20 = *(long *)(lVar28 + 0x98);" (assignment_expression "lVar20 = *(long *)(lVar28 + 0x98)" identifier = (pointer_expression "*(long *)(lVar28 + 0x98)" * (cast_expression "(long *)(lVar28 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x98)" ( (binary_expression "lVar28 + 0x98" identifier + number_literal) ))))) ;) (expression_statement "local_1a0 = puVar36;" (assignment_expression "local_1a0 = puVar36" identifier = identifier) ;) (do_statement "do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);" do (compound_statement "{\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  }" { (while_statement "while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }" { (expression_statement "lVar29 = lVar20;" (assignment_expression "lVar29 = lVar20" identifier = identifier) ;) (expression_statement "uVar44 = *(ulong *)(lVar29 + 0x28);" (assignment_expression "uVar44 = *(ulong *)(lVar29 + 0x28)" identifier = (pointer_expression "*(ulong *)(lVar29 + 0x28)" * (cast_expression "(ulong *)(lVar29 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x28)" ( (binary_expression "lVar29 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) (if_statement "if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }" if (parenthesized_expression "(uVar44 <= uVar32)" ( (binary_expression "uVar44 <= uVar32" identifier <= identifier) )) (compound_statement "{\n                        uVar31 = uVar44;\n                      }" { (expression_statement "uVar31 = uVar44;" (assignment_expression "uVar31 = uVar44" identifier = identifier) ;) })) (if_statement "if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;" if (parenthesized_expression "((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))" ( (binary_expression "(uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0)" (parenthesized_expression "(uVar31 != 0)" ( (binary_expression "uVar31 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0)" ( (comma_expression "iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0" (assignment_expression "iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31)" identifier = (call_expression "memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31)" identifier (argument_list "(*(void **)(lVar29 + 0x20),puVar13,uVar31)" ( (pointer_expression "*(void **)(lVar29 + 0x20)" * (cast_expression "(void **)(lVar29 + 0x20)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar29 + 0x20)" ( (binary_expression "lVar29 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "lVar20 = uVar44 - uVar32;" (assignment_expression "lVar20 = uVar44 - uVar32" identifier = (binary_expression "uVar44 - uVar32" identifier - identifier)) ;) (if_statement "if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" if (parenthesized_expression "(lVar20 < 0x80000000)" ( (binary_expression "lVar20 < 0x80000000" identifier < number_literal) )) (compound_statement "{\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" { (if_statement "if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }" if (parenthesized_expression "(-0x80000001 < lVar20)" ( (binary_expression "-0x80000001 < lVar20" number_literal < identifier) )) (compound_statement "{\n                          iVar16 = (int)lVar20;\n                          break;\n                        }" { (expression_statement "iVar16 = (int)lVar20;" (assignment_expression "iVar16 = (int)lVar20" identifier = (cast_expression "(int)lVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (break_statement "break;" break ;) })) (goto_statement "goto LAB_001db4b0;" goto statement_identifier ;) })) (labeled_statement "LAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);" statement_identifier : (expression_statement "lVar20 = *(long *)(lVar29 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar29 + 0x10)" identifier = (pointer_expression "*(long *)(lVar29 + 0x10)" * (cast_expression "(long *)(lVar29 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x10)" ( (binary_expression "lVar29 + 0x10" identifier + number_literal) ))))) ;)) (expression_statement "local_1a0 = (uint *)lVar29;" (assignment_expression "local_1a0 = (uint *)lVar29" identifier = (cast_expression "(uint *)lVar29" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;" if (parenthesized_expression "(*(long *)(lVar29 + 0x10) == 0)" ( (binary_expression "*(long *)(lVar29 + 0x10) == 0" (pointer_expression "*(long *)(lVar29 + 0x10)" * (cast_expression "(long *)(lVar29 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x10)" ( (binary_expression "lVar29 + 0x10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001db50a;" goto statement_identifier ;)) })) (if_statement "if (-1 < iVar16) goto LAB_001db4fa;" if (parenthesized_expression "(-1 < iVar16)" ( (binary_expression "-1 < iVar16" number_literal < identifier) )) (goto_statement "goto LAB_001db4fa;" goto statement_identifier ;)) (labeled_statement "LAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);" statement_identifier : (expression_statement "lVar20 = *(long *)(lVar29 + 0x18);" (assignment_expression "lVar20 = *(long *)(lVar29 + 0x18)" identifier = (pointer_expression "*(long *)(lVar29 + 0x18)" * (cast_expression "(long *)(lVar29 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x18)" ( (binary_expression "lVar29 + 0x18" identifier + number_literal) ))))) ;)) }) while (parenthesized_expression "(*(long *)(lVar29 + 0x18) != 0)" ( (binary_expression "*(long *)(lVar29 + 0x18) != 0" (pointer_expression "*(long *)(lVar29 + 0x18)" * (cast_expression "(long *)(lVar29 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar29 + 0x18)" ( (binary_expression "lVar29 + 0x18" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;" statement_identifier : (expression_statement "bVar45 = puVar36 == local_1a0;" (assignment_expression "bVar45 = puVar36 == local_1a0" identifier = (binary_expression "puVar36 == local_1a0" identifier == identifier)) ;)) (expression_statement "puVar36 = local_1a0;" (assignment_expression "puVar36 = local_1a0" identifier = identifier) ;) (if_statement "if (bVar45) goto LAB_001db58d;" if (parenthesized_expression "(bVar45)" ( identifier )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;)) (expression_statement "uVar44 = *(ulong *)((long)local_1a0 + 0x28);" (assignment_expression "uVar44 = *(ulong *)((long)local_1a0 + 0x28)" identifier = (pointer_expression "*(ulong *)((long)local_1a0 + 0x28)" * (cast_expression "(ulong *)((long)local_1a0 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_1a0 + 0x28)" ( (binary_expression "(long)local_1a0 + 0x28" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar31 = uVar44;" (assignment_expression "uVar31 = uVar44" identifier = identifier) ;) (if_statement "if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }" if (parenthesized_expression "(uVar32 <= uVar44)" ( (binary_expression "uVar32 <= uVar44" identifier <= identifier) )) (compound_statement "{\n                    uVar31 = uVar32;\n                  }" { (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" identifier = identifier) ;) })) (if_statement "if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" if (parenthesized_expression "((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0))" ( (binary_expression "(uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)" (parenthesized_expression "(uVar31 == 0)" ( (binary_expression "uVar31 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)" ( (comma_expression "iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0" (assignment_expression "iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" identifier = (call_expression "memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" identifier (argument_list "(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" ( identifier , (pointer_expression "*(void **)((long)local_1a0 + 0x20)" * (cast_expression "(void **)((long)local_1a0 + 0x20)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)local_1a0 + 0x20)" ( (binary_expression "(long)local_1a0 + 0x20" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , identifier )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }" { (expression_statement "lVar20 = uVar32 - uVar44;" (assignment_expression "lVar20 = uVar32 - uVar44" identifier = (binary_expression "uVar32 - uVar44" identifier - identifier)) ;) (if_statement "if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }" if (parenthesized_expression "(lVar20 < 0x80000000)" ( (binary_expression "lVar20 < 0x80000000" identifier < number_literal) )) (compound_statement "{\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }" { (if_statement "if (lVar20 < -0x80000000) goto LAB_001db58d;" if (parenthesized_expression "(lVar20 < -0x80000000)" ( (binary_expression "lVar20 < -0x80000000" identifier < number_literal) )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;)) (expression_statement "iVar16 = (int)lVar20;" (assignment_expression "iVar16 = (int)lVar20" identifier = (cast_expression "(int)lVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_001db589;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" else (compound_statement "{\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" { (labeled_statement "LAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;" statement_identifier : (if_statement "if (iVar16 < 0) goto LAB_001db58d;" if (parenthesized_expression "(iVar16 < 0)" ( (binary_expression "iVar16 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001db58d;" goto statement_identifier ;))) }))) }))) (expression_statement "uVar44 = (ulong)uVar42 ^ (ulong)param_1;" (assignment_expression "uVar44 = (ulong)uVar42 ^ (ulong)param_1" identifier = (binary_expression "(ulong)uVar42 ^ (ulong)param_1" (cast_expression "(ulong)uVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ (cast_expression "(ulong)param_1" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);" (assignment_expression "uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48)" identifier = (binary_expression "uVar44 % *(ulong *)((long)local_1a0 + 0x48)" identifier % (pointer_expression "*(ulong *)((long)local_1a0 + 0x48)" * (cast_expression "(ulong *)((long)local_1a0 + 0x48)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_1a0 + 0x48)" ( (binary_expression "(long)local_1a0 + 0x48" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))))) ;) (expression_statement "plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);" (assignment_expression "plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" identifier = (cast_expression "(long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" identifier (argument_list "((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier , (pointer_expression "&local_f8" & identifier) , identifier ))))) ;) (if_statement "if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }" if (parenthesized_expression "((plVar25 == (long *)0x0) || (*plVar25 == 0))" ( (binary_expression "(plVar25 == (long *)0x0) || (*plVar25 == 0)" (parenthesized_expression "(plVar25 == (long *)0x0)" ( (binary_expression "plVar25 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*plVar25 == 0)" ( (binary_expression "*plVar25 == 0" (pointer_expression "*plVar25" * identifier) == number_literal) ))) )) (compound_statement "{\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }" { (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(0x20);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(0x20)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "puVar24[1] = param_1;" (assignment_expression "puVar24[1] = param_1" (subscript_expression "puVar24[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "*(uint *)(puVar24 + 2) = uVar42;" (assignment_expression "*(uint *)(puVar24 + 2) = uVar42" (pointer_expression "*(uint *)(puVar24 + 2)" * (cast_expression "(uint *)(puVar24 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 2)" ( (binary_expression "puVar24 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);" (call_expression "FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1)" identifier (argument_list "((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1)" ( (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier , identifier , identifier , number_literal ))) ;) })) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                  FUN_002dac60();\n                }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) })) })) }))) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" if (parenthesized_expression "((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4))))" ( (binary_expression "(cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((uVar43 != 9 && (uVar43 != 4)))" ( (parenthesized_expression "(uVar43 != 9 && (uVar43 != 4))" ( (binary_expression "uVar43 != 9 && (uVar43 != 4)" (binary_expression "uVar43 != 9" identifier != number_literal) && (parenthesized_expression "(uVar43 != 4)" ( (binary_expression "uVar43 != 4" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }" { (if_statement "if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }" if (parenthesized_expression "((uVar43 != 0x11) || (cVar14 == '\0'))" ( (binary_expression "(uVar43 != 0x11) || (cVar14 == '\0')" (parenthesized_expression "(uVar43 != 0x11)" ( (binary_expression "uVar43 != 0x11" identifier != number_literal) )) || (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }" { (expression_statement "cVar15 = FUN_001c3d60(param_1,&local_188);" (assignment_expression "cVar15 = FUN_001c3d60(param_1,&local_188)" identifier = (call_expression "FUN_001c3d60(param_1,&local_188)" identifier (argument_list "(param_1,&local_188)" ( identifier , (pointer_expression "&local_188" & identifier) )))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = cVar15 == '\0';" (assignment_expression "bVar46 = cVar15 == '\0'" identifier = (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" if (parenthesized_expression "(!bVar46)" ( (unary_expression "!bVar46" ! identifier) )) (compound_statement "{\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" { (expression_statement "lVar28 = 10;" (assignment_expression "lVar28 = 10" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".eh_frame";" (assignment_expression "pbVar39 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);" do (compound_statement "{\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (if_statement "if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" if (parenthesized_expression "(((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0'))" ( (binary_expression "((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')" (parenthesized_expression "((!bVar45 && !bVar46) == bVar45)" ( (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) == identifier) )) && (parenthesized_expression "(uVar43 = uVar3, cVar14 == '\0')" ( (comma_expression "uVar43 = uVar3, cVar14 == '\0'" (assignment_expression "uVar43 = uVar3" identifier = identifier) , (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" { (if_statement "if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }" { (expression_statement "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;" (assignment_expression "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1" (pointer_expression "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" * (cast_expression "(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = (binary_expression "(ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1" (call_expression "(ulong)(*(char *)((long)param_1 + 0x1e1) != '\0')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(char *)((long)param_1 + 0x1e1) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1e1) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" * (cast_expression "(char *)((long)param_1 + 0x1e1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) + number_literal)) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = number_literal) ;) }) (else_clause "else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" else (if_statement "if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" if (parenthesized_expression "(*(char *)((long)param_1 + 0x1e1) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1e1) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" * (cast_expression "(char *)((long)param_1 + 0x1e1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }" { (expression_statement "FUN_001c6700(&local_158,&local_18c);" (call_expression "FUN_001c6700(&local_158,&local_18c)" identifier (argument_list "(&local_158,&local_18c)" ( (pointer_expression "&local_158" & identifier) , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) }) (else_clause "else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" else (compound_statement "{\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" { (expression_statement "uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);" (assignment_expression "uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar17 + (ulong)local_18c * 4)" * (cast_expression "(undefined4 *)(lVar17 + (ulong)local_18c * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + (ulong)local_18c * 4)" ( (binary_expression "lVar17 + (ulong)local_18c * 4" identifier + (binary_expression "(ulong)local_18c * 4" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);" (assignment_expression "uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar18 + (ulong)local_18c * 4)" * (cast_expression "(undefined4 *)(lVar18 + (ulong)local_18c * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + (ulong)local_18c * 4)" ( (binary_expression "lVar18 + (ulong)local_18c * 4" identifier + (binary_expression "(ulong)local_18c * 4" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" identifier (argument_list "(&local_a8,__s1)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "local_88 = uVar42;" (assignment_expression "local_88 = uVar42" identifier = identifier) ;) (expression_statement "local_84 = CONCAT44(uVar6,uVar5);" (assignment_expression "local_84 = CONCAT44(uVar6,uVar5)" identifier = (call_expression "CONCAT44(uVar6,uVar5)" identifier (argument_list "(uVar6,uVar5)" ( identifier , identifier )))) ;) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 2)" * (cast_expression "(undefined8 *)(puVar37 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 2)" ( (binary_expression "puVar37 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 4)" * (cast_expression "(undefined8 *)(puVar37 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 4)" ( (binary_expression "puVar37 + 4" identifier + number_literal) ))))) ;) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 6)" * (cast_expression "(undefined8 *)(puVar37 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 6)" ( (binary_expression "puVar37 + 6" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 8)" * (cast_expression "(undefined8 *)(puVar37 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 8)" ( (binary_expression "puVar37 + 8" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 10)" * (cast_expression "(undefined8 *)(puVar37 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 10)" ( (binary_expression "puVar37 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" * (cast_expression "(undefined8 *)(puVar37 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xc)" ( (binary_expression "puVar37 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" * (cast_expression "(undefined8 *)(puVar37 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xe)" ( (binary_expression "puVar37 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" identifier . field_identifier) = (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" ( identifier )) * (cast_expression "(undefined8 *)puVar37" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_7c = CONCAT44(uVar3,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar3,(undefined4)local_7c)" identifier = (call_expression "CONCAT44(uVar3,(undefined4)local_7c)" identifier (argument_list "(uVar3,(undefined4)local_7c)" ( identifier , (cast_expression "(undefined4)local_7c" ( (type_descriptor "undefined4" type_identifier) ) identifier) )))) ;) (expression_statement "FUN_001d6880(param_1 + 0x7a,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x7a,&local_a8)" identifier (argument_list "(param_1 + 0x7a,&local_a8)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) , (pointer_expression "&local_a8" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) })) }))))) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) })) (if_statement "if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar20 = uVar32 * 8;" (assignment_expression "lVar20 = uVar32 * 8" identifier = (binary_expression "uVar32 * 8" identifier * number_literal)) ;) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" if (parenthesized_expression "(*(char *)(lVar28 + 0x2809) == '\0')" ( (binary_expression "*(char *)(lVar28 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar28 + 0x2809)" * (cast_expression "(char *)(lVar28 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x2809)" ( (binary_expression "lVar28 + 0x2809" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }" { (labeled_statement "LAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" statement_identifier : (if_statement "if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" if (parenthesized_expression "(*(int *)(lVar28 + 0x9050) != 0)" ( (binary_expression "*(int *)(lVar28 + 0x9050) != 0" (pointer_expression "*(int *)(lVar28 + 0x9050)" * (cast_expression "(int *)(lVar28 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x9050)" ( (binary_expression "lVar28 + 0x9050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" { (if_statement "if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" if (parenthesized_expression "(lVar29 == 0)" ( (binary_expression "lVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" { (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }" if (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1)" ( (binary_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1" (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + lVar20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + lVar20)" ( (binary_expression "*(long *)(param_1 + 0x38) + lVar20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) != number_literal) )) (compound_statement "{\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x6f9,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) (expression_statement "bVar27 = (byte)local_188[2];" (assignment_expression "bVar27 = (byte)local_188[2]" identifier = (cast_expression "(byte)local_188[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_188[2]" identifier [ number_literal ]))) ;) (labeled_statement "joined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" statement_identifier : (if_statement "if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" if (parenthesized_expression "((bVar27 & 2) != 0)" ( (binary_expression "(bVar27 & 2) != 0" (parenthesized_expression "(bVar27 & 2)" ( (binary_expression "bVar27 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" { (expression_statement "cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);" (assignment_expression "cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" identifier = (call_expression "FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" identifier (argument_list "(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" ( (pointer_expression "*(undefined8 *)(param_2 + 0x298)" * (cast_expression "(undefined8 *)(param_2 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;)) (expression_statement "plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);" (assignment_expression "plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" identifier = (cast_expression "(long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" identifier (argument_list "(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" ( (pointer_expression "*(undefined8 *)(param_2 + 0x298)" * (cast_expression "(undefined8 *)(param_2 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x298)" ( (binary_expression "param_2 + 0x298" identifier + number_literal) )))) , identifier , identifier ))))) ;) (expression_statement "lVar28 = plVar25[1];" (assignment_expression "lVar28 = plVar25[1]" identifier = (subscript_expression "plVar25[1]" identifier [ number_literal ])) ;) (expression_statement "(**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);" (call_expression "(**(code **)(*plVar25 + 0x80))(&local_a8,plVar25)" (parenthesized_expression "(**(code **)(*plVar25 + 0x80))" ( (pointer_expression "**(code **)(*plVar25 + 0x80)" * (pointer_expression "*(code **)(*plVar25 + 0x80)" * (cast_expression "(code **)(*plVar25 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar25 + 0x80)" ( (binary_expression "*plVar25 + 0x80" (pointer_expression "*plVar25" * identifier) + number_literal) ))))) )) (argument_list "(&local_a8,plVar25)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "puVar36 = local_a8;" (assignment_expression "puVar36 = local_a8" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined8 *)(param_1 + 2);" (assignment_expression "uVar22 = *(undefined8 *)(param_1 + 2)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 2)" * (cast_expression "(undefined8 *)(param_1 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" if (parenthesized_expression "(*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0)" ( (binary_expression "*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0" (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }" { (expression_statement "FUN_00168a50(&local_f8,param_1 + 0x3e);" (call_expression "FUN_00168a50(&local_f8,param_1 + 0x3e)" identifier (argument_list "(&local_f8,param_1 + 0x3e)" ( (pointer_expression "&local_f8" & identifier) , (binary_expression "param_1 + 0x3e" identifier + number_literal) ))) ;) }) (else_clause "else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" else (compound_statement "{\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" { (expression_statement "(**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);" (call_expression "(**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c)" (parenthesized_expression "(**(code **)(*(long *)param_1 + 0x80))" ( (pointer_expression "**(code **)(*(long *)param_1 + 0x80)" * (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(&local_f8,param_1,local_18c)" ( (pointer_expression "&local_f8" & identifier) , identifier , identifier ))) ;) }))) (expression_statement "puVar13 = local_f8;" (assignment_expression "puVar13 = local_f8" identifier = identifier) ;) (expression_statement "uVar12 = DAT_0043e8e8;" (assignment_expression "uVar12 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );" (assignment_expression "uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" identifier = (call_expression "gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" identifier (argument_list "(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" ( (string_literal ""%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);" (call_expression "FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28)" identifier (argument_list "(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }" if (parenthesized_expression "(local_f8 != auStack_e8)" ( (binary_expression "local_f8 != auStack_e8" identifier != identifier) )) (compound_statement "{\n                          FUN_002dac60();\n                        }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_001dc237;" goto statement_identifier ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) ))))) ;) }))) }))) }) (else_clause "else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" else (compound_statement "{\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" { (if_statement "if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" if (parenthesized_expression "(lVar29 == 0)" ( (binary_expression "lVar29 == 0" identifier == number_literal) )) (compound_statement "{\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" { (if_statement "if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }" if (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1)" ( (binary_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1" (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + lVar20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + lVar20)" ( (binary_expression "*(long *)(param_1 + 0x38) + lVar20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + identifier) )))) != number_literal) )) (compound_statement "{\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }" { (expression_statement "FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout")" identifier (argument_list "("../../gold/object.cc",0x6e4,"do_layout")" ( (string_literal ""../../gold/object.cc"" " string_content ") , number_literal , (string_literal ""do_layout"" " string_content ") ))) ;) })) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) (if_statement "if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }" if (parenthesized_expression "((local_188[2] & 2) != 0)" ( (binary_expression "(local_188[2] & 2) != 0" (parenthesized_expression "(local_188[2] & 2)" ( (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }" { (expression_statement "local_a0 = local_18c;" (assignment_expression "local_a0 = local_18c" identifier = identifier) ;) (expression_statement "local_a8 = param_1;" (assignment_expression "local_a8 = param_1" identifier = identifier) ;) (expression_statement "lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);" (assignment_expression "lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" identifier = (call_expression "FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" identifier (argument_list "(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" ( (binary_expression "*(long *)(param_2 + 0x290) + 0x50" (pointer_expression "*(long *)(param_2 + 0x290)" * (cast_expression "(long *)(param_2 + 0x290)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x290)" ( (binary_expression "param_2 + 0x290" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_a8" & identifier) )))) ;) (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }" if (parenthesized_expression "(lVar20 != 0)" ( (binary_expression "lVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }" { (if_statement "if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) ))))) ;) (expression_statement "lVar20 = uVar32 * 8;" (assignment_expression "lVar20 = uVar32 * 8" identifier = (binary_expression "uVar32 * 8" identifier * number_literal)) ;) (goto_statement "goto LAB_001db162;" goto statement_identifier ;) })) (if_statement "if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;" if (parenthesized_expression "(*(char *)(lVar28 + 0x4b19) == '\0')" ( (binary_expression "*(char *)(lVar28 + 0x4b19) == '\0'" (pointer_expression "*(char *)(lVar28 + 0x4b19)" * (cast_expression "(char *)(lVar28 + 0x4b19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x4b19)" ( (binary_expression "lVar28 + 0x4b19" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;)) (expression_statement "uVar22 = *(undefined8 *)(param_1 + 2);" (assignment_expression "uVar22 = *(undefined8 *)(param_1 + 2)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 2)" * (cast_expression "(undefined8 *)(param_1 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" if (parenthesized_expression "(*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0)" ( (binary_expression "*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0" (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }" { (expression_statement "FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);" (call_expression "FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32)" identifier (argument_list "(&local_a8,param_1 + 0x3e,uVar32)" ( (pointer_expression "&local_a8" & identifier) , (binary_expression "param_1 + 0x3e" identifier + number_literal) , identifier ))) ;) }) (else_clause "else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" else (compound_statement "{\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" { (expression_statement "(**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);" (call_expression "(**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32)" (parenthesized_expression "(**(code **)(*(long *)param_1 + 0x80))" ( (pointer_expression "**(code **)(*(long *)param_1 + 0x80)" * (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" * (cast_expression "(code **)(*(long *)param_1 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1 + 0x80)" ( (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" * (cast_expression "(long *)param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(&local_a8,param_1,uVar32)" ( (pointer_expression "&local_a8" & identifier) , identifier , identifier ))) ;) }))) (expression_statement "puVar36 = local_a8;" (assignment_expression "puVar36 = local_a8" identifier = identifier) ;) (expression_statement "uVar12 = DAT_0043e8e8;" (assignment_expression "uVar12 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");" (assignment_expression "uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'")" identifier = (call_expression "gettext("%s: removing unused section from \'%s\' in file \'%s\'")" identifier (argument_list "("%s: removing unused section from \'%s\' in file \'%s\'")" ( (string_literal ""%s: removing unused section from \'%s\' in file \'%s\'"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "FUN_00178480(uVar26,uVar12,puVar36,uVar22);" (call_expression "FUN_00178480(uVar26,uVar12,puVar36,uVar22)" identifier (argument_list "(uVar26,uVar12,puVar36,uVar22)" ( identifier , identifier , identifier , identifier ))) ;) (labeled_statement "LAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }" statement_identifier : (if_statement "if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                      FUN_002dac60();\n                    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_001db6f8;" goto statement_identifier ;) })) (if_statement "if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }" if (parenthesized_expression "(*(int *)(lVar28 + 0x9050) != 0)" ( (binary_expression "*(int *)(lVar28 + 0x9050) != 0" (pointer_expression "*(int *)(lVar28 + 0x9050)" * (cast_expression "(int *)(lVar28 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x9050)" ( (binary_expression "lVar28 + 0x9050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }" { (expression_statement "bVar27 = (byte)local_188[2];" (assignment_expression "bVar27 = (byte)local_188[2]" identifier = (cast_expression "(byte)local_188[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_188[2]" identifier [ number_literal ]))) ;) (goto_statement "goto joined_r0x001db186;" goto statement_identifier ;) })) }))) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(lVar29 != 2)" ( (binary_expression "lVar29 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }" { (labeled_statement "LAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" statement_identifier : (if_statement "if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }" { (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" else (compound_statement "{\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" { (expression_statement "iVar16 = *(int *)(lVar17 + uVar32 * 4);" (assignment_expression "iVar16 = *(int *)(lVar17 + uVar32 * 4)" identifier = (pointer_expression "*(int *)(lVar17 + uVar32 * 4)" * (cast_expression "(int *)(lVar17 + uVar32 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);" (assignment_expression "uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" identifier = (call_expression "FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" identifier (argument_list "(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_188" & identifier) , identifier , identifier , (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) )))) , (pointer_expression "&local_a8" & identifier) )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;" (assignment_expression "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8" (pointer_expression "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = identifier) ;) (if_statement "if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }" if (parenthesized_expression "((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0))" ( (binary_expression "(local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)" (parenthesized_expression "(local_a8 == (uint *)0xffffffffffffffff)" ( (binary_expression "local_a8 == (uint *)0xffffffffffffffff" identifier == (cast_expression "(uint *)0xffffffffffffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }" { (expression_statement "*(undefined1 *)(param_1 + 0x1e) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1e) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1e)" * (cast_expression "(undefined1 *)(param_1 + 0x1e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e)" ( (binary_expression "param_1 + 0x1e" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (if_statement "if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }" if (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = (local_188[2] & 2) == 0;" (assignment_expression "bVar46 = (local_188[2] & 2) == 0" identifier = (binary_expression "(local_188[2] & 2) == 0" (parenthesized_expression "(local_188[2] & 2)" ( (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" identifier [ number_literal ]) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }" { (expression_statement "lVar28 = 0xc;" (assignment_expression "lVar28 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".debug_info";" (assignment_expression "pbVar39 = (byte *)".debug_info"" identifier = (cast_expression "(byte *)".debug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_info"" " string_content "))) ;) (do_statement "do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);" do (compound_statement "{\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (expression_statement "bVar47 = false;" (assignment_expression "bVar47 = false" identifier = false) ;) (expression_statement "bVar45 = (!bVar45 && !bVar46) == bVar45;" (assignment_expression "bVar45 = (!bVar45 && !bVar46) == bVar45" identifier = (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }" { (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".zdebug_info";" (assignment_expression "pbVar39 = (byte *)".zdebug_info"" identifier = (cast_expression "(byte *)".zdebug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug_info"" " string_content "))) ;) (do_statement "do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);" do (compound_statement "{\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar47 = *pbVar38 < *pbVar39;" (assignment_expression "bVar47 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" identifier = false) ;) (expression_statement "bVar45 = (!bVar47 && !bVar45) == bVar47;" (assignment_expression "bVar45 = (!bVar47 && !bVar45) == bVar47" identifier = (binary_expression "(!bVar47 && !bVar45) == bVar47" (parenthesized_expression "(!bVar47 && !bVar45)" ( (binary_expression "!bVar47 && !bVar45" (unary_expression "!bVar47" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }" { (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".debug_types";" (assignment_expression "pbVar39 = (byte *)".debug_types"" identifier = (cast_expression "(byte *)".debug_types"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_types"" " string_content "))) ;) (do_statement "do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);" do (compound_statement "{\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (expression_statement "bVar47 = false;" (assignment_expression "bVar47 = false" identifier = false) ;) (expression_statement "bVar45 = (!bVar46 && !bVar45) == bVar46;" (assignment_expression "bVar45 = (!bVar46 && !bVar45) == bVar46" identifier = (binary_expression "(!bVar46 && !bVar45) == bVar46" (parenthesized_expression "(!bVar46 && !bVar45)" ( (binary_expression "!bVar46 && !bVar45" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }" { (expression_statement "lVar28 = 0xe;" (assignment_expression "lVar28 = 0xe" identifier = number_literal) ;) (expression_statement "pbVar38 = (byte *)".zdebug_types";" (assignment_expression "pbVar38 = (byte *)".zdebug_types"" identifier = (cast_expression "(byte *)".zdebug_types"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug_types"" " string_content "))) ;) (do_statement "do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);" do (compound_statement "{\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar47 = *__s1 < *pbVar38;" (assignment_expression "bVar47 = *__s1 < *pbVar38" identifier = (binary_expression "*__s1 < *pbVar38" (pointer_expression "*__s1" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar45 = *__s1 == *pbVar38;" (assignment_expression "bVar45 = *__s1 == *pbVar38" identifier = (binary_expression "*__s1 == *pbVar38" (pointer_expression "*__s1" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "__s1 = __s1 + (ulong)bVar48 * -2 + 1;" (assignment_expression "__s1 = __s1 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "__s1 + (ulong)bVar48 * -2 + 1" (binary_expression "__s1 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (if_statement "if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;" if (parenthesized_expression "((!bVar47 && !bVar45) != bVar47)" ( (binary_expression "(!bVar47 && !bVar45) != bVar47" (parenthesized_expression "(!bVar47 && !bVar45)" ( (binary_expression "!bVar47 && !bVar45" (unary_expression "!bVar47" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;)) })) (expression_statement "FUN_001c6700(&local_118,&local_18c);" (call_expression "FUN_001c6700(&local_118,&local_18c)" identifier (argument_list "(&local_118,&local_18c)" ( (pointer_expression "&local_118" & identifier) , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (goto_statement "goto LAB_001daa92;" goto statement_identifier ;) })) })) (expression_statement "FUN_001c6700(&local_138,&local_18c);" (call_expression "FUN_001c6700(&local_138,&local_18c)" identifier (argument_list "(&local_138,&local_18c)" ( (pointer_expression "&local_138" & identifier) , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) })) })) })) })))) })) }) (else_clause "else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" else (compound_statement "{\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" { (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;" if (parenthesized_expression "((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))" ( (binary_expression "(*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0)" (parenthesized_expression "(*(char *)((long)param_1 + 0x1e1) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x1e1) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" * (cast_expression "(char *)((long)param_1 + 0x1e1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1e1)" ( (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((local_188[2] & 2) == 0)" ( (binary_expression "(local_188[2] & 2) == 0" (parenthesized_expression "(local_188[2] & 2)" ( (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001daeca;" goto statement_identifier ;)) (expression_statement "uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);" (assignment_expression "uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar18 + uVar32 * 4)" ( (binary_expression "lVar18 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);" (assignment_expression "uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4)" identifier = (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" * (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar17 + uVar32 * 4)" ( (binary_expression "lVar17 + uVar32 * 4" identifier + (binary_expression "uVar32 * 4" identifier * number_literal)) ))))) ;) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" identifier (argument_list "(&local_a8,__s1)" ( (pointer_expression "&local_a8" & identifier) , identifier ))) ;) (expression_statement "local_88 = uVar42;" (assignment_expression "local_88 = uVar42" identifier = identifier) ;) (expression_statement "local_84 = CONCAT44(uVar5,uVar6);" (assignment_expression "local_84 = CONCAT44(uVar5,uVar6)" identifier = (call_expression "CONCAT44(uVar5,uVar6)" identifier (argument_list "(uVar5,uVar6)" ( identifier , identifier )))) ;) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 2)" * (cast_expression "(undefined8 *)(puVar37 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 2)" ( (binary_expression "puVar37 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 4)" * (cast_expression "(undefined8 *)(puVar37 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 4)" ( (binary_expression "puVar37 + 4" identifier + number_literal) ))))) ;) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 6)" * (cast_expression "(undefined8 *)(puVar37 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 6)" ( (binary_expression "puVar37 + 6" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 8)" * (cast_expression "(undefined8 *)(puVar37 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 8)" ( (binary_expression "puVar37 + 8" identifier + number_literal) ))))) ;) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 10)" * (cast_expression "(undefined8 *)(puVar37 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 10)" ( (binary_expression "puVar37 + 10" identifier + number_literal) ))))) ;) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" * (cast_expression "(undefined8 *)(puVar37 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xc)" ( (binary_expression "puVar37 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" * (cast_expression "(undefined8 *)(puVar37 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar37 + 0xe)" ( (binary_expression "puVar37 + 0xe" identifier + number_literal) ))))) ;) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" identifier . field_identifier) = (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" ( identifier )) * (cast_expression "(undefined8 *)puVar37" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_7c = CONCAT44(uVar43,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar43,(undefined4)local_7c)" identifier = (call_expression "CONCAT44(uVar43,(undefined4)local_7c)" identifier (argument_list "(uVar43,(undefined4)local_7c)" ( identifier , (cast_expression "(undefined4)local_7c" ( (type_descriptor "undefined4" type_identifier) ) identifier) )))) ;) (expression_statement "FUN_001d6880(param_1 + 0x7a,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x7a,&local_a8)" identifier (argument_list "(param_1 + 0x7a,&local_a8)" ( (binary_expression "param_1 + 0x7a" identifier + number_literal) , (pointer_expression "&local_a8" & identifier) ))) ;) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }" if (parenthesized_expression "(local_a8 != auStack_98)" ( (binary_expression "local_a8 != auStack_98" identifier != identifier) )) (compound_statement "{\n                  FUN_002dac60();\n                }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = number_literal) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) }))) })) }) (else_clause "else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" else (if_statement "if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" if (parenthesized_expression "(local_170 == local_168)" ( (binary_expression "local_170 == local_168" identifier == identifier) )) (compound_statement "{\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }" { (expression_statement "FUN_00160c40(&local_178,local_170,&local_18c);" (call_expression "FUN_00160c40(&local_178,local_170,&local_18c)" identifier (argument_list "(&local_178,local_170,&local_18c)" ( (pointer_expression "&local_178" & identifier) , identifier , (pointer_expression "&local_18c" & identifier) ))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) }) (else_clause "else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" else (compound_statement "{\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" { (expression_statement "*local_170 = local_18c;" (assignment_expression "*local_170 = local_18c" (pointer_expression "*local_170" * identifier) = identifier) ;) (expression_statement "local_170 = local_170 + 1;" (assignment_expression "local_170 = local_170 + 1" identifier = (binary_expression "local_170 + 1" identifier + number_literal)) ;) }))))) }) (else_clause "else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" else (compound_statement "{\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" { (expression_statement "cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);" (assignment_expression "cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2)" identifier = (call_expression "FUN_001bdd20(param_1,__s1,local_18c,param_2)" identifier (argument_list "(param_1,__s1,local_18c,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "bVar45 = cVar15 == '\0';" (assignment_expression "bVar45 = cVar15 == '\0'" identifier = (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "bVar46 = cVar15 == '\x01';" (assignment_expression "bVar46 = cVar15 == '\x01'" identifier = (binary_expression "cVar15 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence '))) ;) (if_statement "if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = cVar14 == '\0';" (assignment_expression "bVar46 = cVar14 == '\0'" identifier = (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';" (assignment_expression "bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" identifier = (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }" { (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << ((byte)local_18c & 0x3f)" number_literal << (parenthesized_expression "((byte)local_18c & 0x3f)" ( (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (expression_statement "bVar46 = *puVar19 == 0;" (assignment_expression "bVar46 = *puVar19 == 0" identifier = (binary_expression "*puVar19 == 0" (pointer_expression "*puVar19" * identifier) == number_literal)) ;) })) })) })) (expression_statement "lVar28 = 0x10;" (assignment_expression "lVar28 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".note.GNU-stack";" (assignment_expression "pbVar39 = (byte *)".note.GNU-stack"" identifier = (cast_expression "(byte *)".note.GNU-stack"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".note.GNU-stack"" " string_content "))) ;) (do_statement "do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);" do (compound_statement "{\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (if_statement "if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }" if (parenthesized_expression "((!bVar45 && !bVar46) == bVar45)" ( (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) == identifier) )) (compound_statement "{\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }" { (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "local_238 = local_238 | *(ulong *)(local_188 + 2);" (assignment_expression "local_238 = local_238 | *(ulong *)(local_188 + 2)" identifier = (binary_expression "local_238 | *(ulong *)(local_188 + 2)" identifier | (pointer_expression "*(ulong *)(local_188 + 2)" * (cast_expression "(ulong *)(local_188 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_188 + 2)" ( (binary_expression "local_188 + 2" identifier + number_literal) )))))) ;) (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << ((byte)local_18c & 0x3f)" number_literal << (parenthesized_expression "((byte)local_18c & 0x3f)" ( (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) })) (expression_statement "cVar15 = FUN_001bd330(param_1,__s1);" (assignment_expression "cVar15 = FUN_001bd330(param_1,__s1)" identifier = (call_expression "FUN_001bd330(param_1,__s1)" identifier (argument_list "(param_1,__s1)" ( identifier , identifier )))) ;) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" identifier = identifier) ;) (expression_statement "puVar11 = PTR_DAT_0043e6b0;" (assignment_expression "puVar11 = PTR_DAT_0043e6b0" identifier = identifier) ;) (expression_statement "bVar27 = (byte)local_18c;" (assignment_expression "bVar27 = (byte)local_18c" identifier = (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }" if (parenthesized_expression "((cVar15 == '\x01') && (cVar14 == '\0'))" ( (binary_expression "(cVar15 == '\x01') && (cVar14 == '\0')" (parenthesized_expression "(cVar15 == '\x01')" ( (binary_expression "cVar15 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar14 == '\0')" ( (binary_expression "cVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }" { (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))))) ;) })) })) (if_statement "if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }" if (parenthesized_expression "(*(long *)(puVar11 + 0x18) == 0)" ( (binary_expression "*(long *)(puVar11 + 0x18) == 0" (pointer_expression "*(long *)(puVar11 + 0x18)" * (cast_expression "(long *)(puVar11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "__s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);" (assignment_expression "__s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" identifier = (pointer_expression "*(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" * (cast_expression "(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" ( (binary_expression "*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60" (pointer_expression "*(long *)(*(long *)(puVar11 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(puVar11 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(puVar11 + 0x18) + 8)" ( (binary_expression "*(long *)(puVar11 + 0x18) + 8" (pointer_expression "*(long *)(puVar11 + 0x18)" * (cast_expression "(long *)(puVar11 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x18)" ( (binary_expression "puVar11 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar45 = __s2 == (char *)0x0;" (assignment_expression "bVar45 = __s2 == (char *)0x0" identifier = (binary_expression "__s2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (compound_statement "{\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }" { (expression_statement "iVar16 = strcmp((char *)__s1,__s2);" (assignment_expression "iVar16 = strcmp((char *)__s1,__s2)" identifier = (call_expression "strcmp((char *)__s1,__s2)" identifier (argument_list "((char *)__s1,__s2)" ( (cast_expression "(char *)__s1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "bVar45 = iVar16 == 0;" (assignment_expression "bVar45 = iVar16 == 0" identifier = (binary_expression "iVar16 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar45) goto LAB_001daf00;" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (goto_statement "goto LAB_001daf00;" goto statement_identifier ;)) (labeled_statement "LAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);" statement_identifier : (expression_statement "puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(uVar42 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar42 >> 3 & 0x1ffffff8)" ( (binary_expression "uVar42 >> 3 & 0x1ffffff8" (binary_expression "uVar42 >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;)) (expression_statement "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))))) ;) (if_statement "if (uVar43 != 7) goto LAB_001dabee;" if (parenthesized_expression "(uVar43 != 7)" ( (binary_expression "uVar43 != 7" identifier != number_literal) )) (goto_statement "goto LAB_001dabee;" goto statement_identifier ;)) (labeled_statement "LAB_001daf2c:\n            bVar46 = uVar43 == 7;" statement_identifier : (expression_statement "bVar46 = uVar43 == 7;" (assignment_expression "bVar46 = uVar43 == 7" identifier = (binary_expression "uVar43 == 7" identifier == number_literal)) ;)) (expression_statement "bVar45 = uVar43 < 7;" (assignment_expression "bVar45 = uVar43 < 7" identifier = (binary_expression "uVar43 < 7" identifier < number_literal)) ;) (expression_statement "lVar28 = 0x13;" (assignment_expression "lVar28 = 0x13" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".note.gnu.property";" (assignment_expression "pbVar39 = (byte *)".note.gnu.property"" identifier = (cast_expression "(byte *)".note.gnu.property"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".note.gnu.property"" " string_content "))) ;) (do_statement "do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);" do (compound_statement "{\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar46)" ( identifier )) ;) (if_statement "if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" if (parenthesized_expression "((!bVar45 && !bVar46) != bVar45)" ( (binary_expression "(!bVar45 && !bVar46) != bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" ( (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar46" ! identifier)) )) != identifier) )) (compound_statement "{\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" { (expression_statement "bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;" (assignment_expression "bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0" identifier = (binary_expression "(1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0" (parenthesized_expression "(1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))" ( (binary_expression "1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))) & (pointer_expression "*(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" * (cast_expression "(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (binary_expression "(long)local_d8 + (ulong)(uVar42 >> 6) * 8" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(uVar42 >> 6) * 8" (call_expression "(ulong)(uVar42 >> 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar42 >> 6)" ( (binary_expression "uVar42 >> 6" identifier >> number_literal) ))) * number_literal)) ))))) )) == number_literal)) ;) (expression_statement "bVar45 = !bVar46;" (assignment_expression "bVar45 = !bVar46" identifier = (unary_expression "!bVar46" ! identifier)) ;) (if_statement "if (bVar46) goto LAB_001dac20;" if (parenthesized_expression "(bVar46)" ( identifier )) (goto_statement "goto LAB_001dac20;" goto statement_identifier ;)) (goto_statement "goto LAB_001daf78;" goto statement_identifier ;) })) (expression_statement "FUN_001ca630(param_1,param_3,uVar32);" (call_expression "FUN_001ca630(param_1,param_3,uVar32)" identifier (argument_list "(param_1,param_3,uVar32)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" identifier = (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" ( (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_18c >> 3 & 0x1ffffff8)" ( (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" identifier >> number_literal) & number_literal) ))) + (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) = (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" * identifier) | (binary_expression "1L << ((byte)local_18c & 0x3f)" number_literal << (parenthesized_expression "((byte)local_18c & 0x3f)" ( (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;) })) (labeled_statement "LAB_001daf00:\n          bVar46 = false;" statement_identifier : (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" identifier = false) ;)) (expression_statement "lVar28 = 0x10;" (assignment_expression "lVar28 = 0x10" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".gnu.attributes";" (assignment_expression "pbVar39 = (byte *)".gnu.attributes"" identifier = (cast_expression "(byte *)".gnu.attributes"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.attributes"" " string_content "))) ;) (do_statement "do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);" do (compound_statement "{\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar45)" ( identifier )) ;) (if_statement "if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;" if (parenthesized_expression "((!bVar46 && !bVar45) == bVar46)" ( (binary_expression "(!bVar46 && !bVar45) == bVar46" (parenthesized_expression "(!bVar46 && !bVar45)" ( (binary_expression "!bVar46 && !bVar45" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar45" ! identifier)) )) == identifier) )) (goto_statement "goto LAB_001dabc4;" goto statement_identifier ;)) (if_statement "if (uVar43 == 7) goto LAB_001daf2c;" if (parenthesized_expression "(uVar43 == 7)" ( (binary_expression "uVar43 == 7" identifier == number_literal) )) (goto_statement "goto LAB_001daf2c;" goto statement_identifier ;)) (labeled_statement "LAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;" statement_identifier : (expression_statement "bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;" (assignment_expression "bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0" identifier = (binary_expression "(1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0" (parenthesized_expression "(1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))" ( (binary_expression "1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (binary_expression "1L << (bVar27 & 0x3f)" number_literal << (parenthesized_expression "(bVar27 & 0x3f)" ( (binary_expression "bVar27 & 0x3f" identifier & number_literal) ))) & (pointer_expression "*(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" * (cast_expression "(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" ( (binary_expression "(long)local_d8 + (ulong)(uVar42 >> 6) * 8" (cast_expression "(long)local_d8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)(uVar42 >> 6) * 8" (call_expression "(ulong)(uVar42 >> 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar42 >> 6)" ( (binary_expression "uVar42 >> 6" identifier >> number_literal) ))) * number_literal)) ))))) )) != number_literal)) ;)) (if_statement "if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" if (parenthesized_expression "(bVar45)" ( identifier )) (compound_statement "{\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }" { (labeled_statement "LAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);" statement_identifier : (expression_statement "local_210 = *(long *)(param_3 + 0x378);" (assignment_expression "local_210 = *(long *)(param_3 + 0x378)" identifier = (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) ))))) ;)) (if_statement "if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;" if (parenthesized_expression "(local_210 == 0)" ( (binary_expression "local_210 == 0" identifier == number_literal) )) (compound_statement "{\n              if (!bVar45) goto LAB_001da9c0;\n            }" { (if_statement "if (!bVar45) goto LAB_001da9c0;" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (goto_statement "goto LAB_001da9c0;" goto statement_identifier ;)) }) (else_clause "else if (!bVar45) goto LAB_001dac76;" else (if_statement "if (!bVar45) goto LAB_001dac76;" if (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) (goto_statement "goto LAB_001dac76;" goto statement_identifier ;)))) }) (else_clause "else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" else (compound_statement "{\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (if_statement "if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }" if (parenthesized_expression "(uVar43 != 0x11)" ( (binary_expression "uVar43 != 0x11" identifier != number_literal) )) (compound_statement "{\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }" { (labeled_statement "LAB_001dac20:\n              bVar46 = false;" statement_identifier : (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" identifier = false) ;)) (expression_statement "bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;" (assignment_expression "bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0" identifier = (binary_expression "(*(byte *)((long)local_188 + 9) & 2) == 0" (parenthesized_expression "(*(byte *)((long)local_188 + 9) & 2)" ( (binary_expression "*(byte *)((long)local_188 + 9) & 2" (pointer_expression "*(byte *)((long)local_188 + 9)" * (cast_expression "(byte *)((long)local_188 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_188 + 9)" ( (binary_expression "(long)local_188 + 9" (cast_expression "(long)local_188" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }" if (parenthesized_expression "(bVar47)" ( identifier )) (compound_statement "{\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }" { (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" identifier = number_literal) ;) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" identifier = identifier) ;) (expression_statement "pbVar39 = (byte *)".gnu.linkonce";" (assignment_expression "pbVar39 = (byte *)".gnu.linkonce"" identifier = (cast_expression "(byte *)".gnu.linkonce"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce"" " string_content "))) ;) (do_statement "do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);" do (compound_statement "{\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                }" { (if_statement "if (lVar28 == 0) break;" if (parenthesized_expression "(lVar28 == 0)" ( (binary_expression "lVar28 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" identifier = (binary_expression "lVar28 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" identifier = (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" * identifier) < (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "bVar47 = *pbVar38 == *pbVar39;" (assignment_expression "bVar47 = *pbVar38 == *pbVar39" identifier = (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" * identifier) == (pointer_expression "*pbVar39" * identifier))) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" identifier = (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" identifier + (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar47)" ( identifier )) ;) (if_statement "if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }" if (parenthesized_expression "(((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))" ( (binary_expression "((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0')" (parenthesized_expression "((!bVar46 && !bVar47) == bVar46)" ( (binary_expression "(!bVar46 && !bVar47) == bVar46" (parenthesized_expression "(!bVar46 && !bVar47)" ( (binary_expression "!bVar46 && !bVar47" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar47" ! identifier)) )) == identifier) )) && (parenthesized_expression "(cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0')" ( (comma_expression "cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'" (assignment_expression "cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188)" identifier = (call_expression "FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188)" identifier (argument_list "(param_1,param_3,uVar32,__s1,&local_188)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_188" & identifier) )))) , (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }" { (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_001dafa0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);" statement_identifier : (expression_statement "local_210 = *(long *)(param_3 + 0x378);" (assignment_expression "local_210 = *(long *)(param_3 + 0x378)" identifier = (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) ))))) ;)) (if_statement "if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }" if (parenthesized_expression "((!bVar45) && (local_210 != 0))" ( (binary_expression "(!bVar45) && (local_210 != 0)" (parenthesized_expression "(!bVar45)" ( (unary_expression "!bVar45" ! identifier) )) && (parenthesized_expression "(local_210 != 0)" ( (binary_expression "local_210 != 0" identifier != number_literal) ))) )) (compound_statement "{\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }" { (labeled_statement "LAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);" statement_identifier : (expression_statement "cVar15 = FUN_00183010(uVar43);" (assignment_expression "cVar15 = FUN_00183010(uVar43)" identifier = (call_expression "FUN_00183010(uVar43)" identifier (argument_list "(uVar43)" ( identifier )))) ;)) (if_statement "if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }" { (expression_statement "uVar22 = *(undefined8 *)(local_188 + 8);" (assignment_expression "uVar22 = *(undefined8 *)(local_188 + 8)" identifier = (pointer_expression "*(undefined8 *)(local_188 + 8)" * (cast_expression "(undefined8 *)(local_188 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_188 + 8)" ( (binary_expression "local_188 + 8" identifier + number_literal) ))))) ;) (expression_statement "lVar28 = *(long *)(param_1 + 0x12);" (assignment_expression "lVar28 = *(long *)(param_1 + 0x12)" identifier = (pointer_expression "*(long *)(param_1 + 0x12)" * (cast_expression "(long *)(param_1 + 0x12)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x12)" ( (binary_expression "param_1 + 0x12" identifier + number_literal) ))))) ;) (if_statement "if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }" { (expression_statement "lVar20 = *(long *)(lVar28 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar28 + 0x10)" identifier = (pointer_expression "*(long *)(lVar28 + 0x10)" * (cast_expression "(long *)(lVar28 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x10)" ( (binary_expression "lVar28 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar29 = lVar28 + 8;" (assignment_expression "lVar29 = lVar28 + 8" identifier = (binary_expression "lVar28 + 8" identifier + number_literal)) ;) (if_statement "if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }" if (parenthesized_expression "(*(long *)(lVar28 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar28 + 0x10) != 0" (pointer_expression "*(long *)(lVar28 + 0x10)" * (cast_expression "(long *)(lVar28 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar28 + 0x10)" ( (binary_expression "lVar28 + 0x10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }" { (do_statement "do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);" do (compound_statement "{\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      }" { (while_statement "while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }" while (parenthesized_expression "(lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c)" ( (comma_expression "lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c" (assignment_expression "lVar30 = lVar20" identifier = identifier) , (binary_expression "*(uint *)(lVar30 + 0x20) < local_18c" (pointer_expression "*(uint *)(lVar30 + 0x20)" * (cast_expression "(uint *)(lVar30 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x20)" ( (binary_expression "lVar30 + 0x20" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }" { (expression_statement "plVar25 = (long *)(lVar30 + 0x18);" (assignment_expression "plVar25 = (long *)(lVar30 + 0x18)" identifier = (cast_expression "(long *)(lVar30 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x18)" ( (binary_expression "lVar30 + 0x18" identifier + number_literal) )))) ;) (expression_statement "lVar20 = *plVar25;" (assignment_expression "lVar20 = *plVar25" identifier = (pointer_expression "*plVar25" * identifier)) ;) (expression_statement "lVar30 = lVar29;" (assignment_expression "lVar30 = lVar29" identifier = identifier) ;) (if_statement "if (*plVar25 == 0) goto LAB_001dacda;" if (parenthesized_expression "(*plVar25 == 0)" ( (binary_expression "*plVar25 == 0" (pointer_expression "*plVar25" * identifier) == number_literal) )) (goto_statement "goto LAB_001dacda;" goto statement_identifier ;)) })) (expression_statement "lVar20 = *(long *)(lVar30 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar30 + 0x10)" identifier = (pointer_expression "*(long *)(lVar30 + 0x10)" * (cast_expression "(long *)(lVar30 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x10)" ( (binary_expression "lVar30 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "lVar29 = lVar30;" (assignment_expression "lVar29 = lVar30" identifier = identifier) ;) }) while (parenthesized_expression "(*(long *)(lVar30 + 0x10) != 0)" ( (binary_expression "*(long *)(lVar30 + 0x10) != 0" (pointer_expression "*(long *)(lVar30 + 0x10)" * (cast_expression "(long *)(lVar30 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x10)" ( (binary_expression "lVar30 + 0x10" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" statement_identifier : (if_statement "if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" if (parenthesized_expression "((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c))" ( (binary_expression "(lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)" (parenthesized_expression "(lVar28 + 8 != lVar30)" ( (binary_expression "lVar28 + 8 != lVar30" (binary_expression "lVar28 + 8" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(uint *)(lVar30 + 0x20) <= local_18c)" ( (binary_expression "*(uint *)(lVar30 + 0x20) <= local_18c" (pointer_expression "*(uint *)(lVar30 + 0x20)" * (cast_expression "(uint *)(lVar30 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x20)" ( (binary_expression "lVar30 + 0x20" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" { (expression_statement "uVar22 = *(undefined8 *)(lVar30 + 0x28);" (assignment_expression "uVar22 = *(undefined8 *)(lVar30 + 0x28)" identifier = (pointer_expression "*(undefined8 *)(lVar30 + 0x28)" * (cast_expression "(undefined8 *)(lVar30 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x28)" ( (binary_expression "lVar30 + 0x28" identifier + number_literal) ))))) ;) }))) })) })) (expression_statement "FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);" (call_expression "FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22)" identifier (argument_list "(local_210,param_1,local_18c,__s1,uVar22)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) })) (goto_statement "goto LAB_001da9c0;" goto statement_identifier ;) })) (expression_statement "cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);" (assignment_expression "cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" identifier = (call_expression "FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" identifier (argument_list "(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (goto_statement "goto LAB_001dac4f;" goto statement_identifier ;) })) (labeled_statement "LAB_001db6f8:\n            uVar32 = (ulong)local_18c;" statement_identifier : (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" identifier = (cast_expression "(ulong)local_18c" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;)) }))) (labeled_statement "LAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" * (cast_expression "(long *)(param_1 + 0x14)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;)) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" ( (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar32 * 8" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" identifier = (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_001daa92:\n        local_18c = uVar42 + 1;" statement_identifier : (expression_statement "local_18c = uVar42 + 1;" (assignment_expression "local_18c = uVar42 + 1" identifier = (binary_expression "uVar42 + 1" identifier + number_literal)) ;)) (expression_statement "puVar36 = puVar37 + 0x10;" (assignment_expression "puVar36 = puVar37 + 0x10" identifier = (binary_expression "puVar37 + 0x10" identifier + number_literal)) ;) (if_statement "if (uVar2 <= local_18c) goto LAB_001da530;" if (parenthesized_expression "(uVar2 <= local_18c)" ( (binary_expression "uVar2 <= local_18c" identifier <= identifier) )) (goto_statement "goto LAB_001da530;" goto statement_identifier ;)) (expression_statement "uVar32 = (ulong)*puVar36;" (assignment_expression "uVar32 = (ulong)*puVar36" identifier = (binary_expression "(ulong)*puVar36" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (expression_statement "uVar43 = puVar37[0x11];" (assignment_expression "uVar43 = puVar37[0x11]" identifier = (subscript_expression "puVar37[0x11]" identifier [ number_literal ])) ;) (expression_statement "puVar37 = puVar36;" (assignment_expression "puVar37 = puVar36" identifier = identifier) ;) (expression_statement "local_188 = puVar36;" (assignment_expression "local_188 = puVar36" identifier = identifier) ;) }) while (parenthesized_expression "(uVar32 < local_1c8)" ( (binary_expression "uVar32 < local_1c8" identifier < identifier) )) ;) })) (expression_statement "uVar2 = local_18c;" (assignment_expression "uVar2 = local_18c" identifier = identifier) ;) (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "uVar22 = gettext("bad section name offset for section %u: %lu");" (assignment_expression "uVar22 = gettext("bad section name offset for section %u: %lu")" identifier = (call_expression "gettext("bad section name offset for section %u: %lu")" identifier (argument_list "("bad section name offset for section %u: %lu")" ( (string_literal ""bad section name offset for section %u: %lu"" " string_content ") )))) ;) (expression_statement "FUN_001bd150(param_1,uVar22,uVar2,uVar32);" (call_expression "FUN_001bd150(param_1,uVar22,uVar2,uVar32)" identifier (argument_list "(param_1,uVar22,uVar2,uVar32)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_118 != (uint *)0x0)" ( (binary_expression "local_118 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_138 != (uint *)0x0)" ( (binary_expression "local_138 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_158 != (uint *)0x0)" ( (binary_expression "local_158 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_178 != (uint *)0x0)" ( (binary_expression "local_178 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_001d5cd0(local_270);" (call_expression "FUN_001d5cd0(local_270)" identifier (argument_list "(local_270)" ( identifier ))) ;) }) (else_clause "else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" else (if_statement "if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" if (parenthesized_expression "(!bVar8)" ( (unary_expression "!bVar8" ! identifier) )) (compound_statement "{\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" { (expression_statement "lVar28 = *param_4;" (assignment_expression "lVar28 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (if_statement "if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "lVar28 = param_4[1];" (assignment_expression "lVar28 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" * identifier) = number_literal) ;) (if_statement "if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" if (parenthesized_expression "(lVar28 != 0)" ( (binary_expression "lVar28 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" { (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" identifier (argument_list "(lVar28)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" identifier (argument_list "(lVar28,0x18)" ( identifier , number_literal ))) ;) })) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) = number_literal) ;) })))) (expression_statement "FUN_002dac60(lVar18);" (call_expression "FUN_002dac60(lVar18)" identifier (argument_list "(lVar18)" ( identifier ))) ;) (expression_statement "FUN_002dac60(lVar17);" (call_expression "FUN_002dac60(lVar17)" identifier (argument_list "(lVar17)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) 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 (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto 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) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) }))) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT << LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }))) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) >> LIT) )) * LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT) ))) >> LIT) )) * LIT) & LIT) )) + LIT) )) * LIT))) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) >> LIT) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 + (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 = (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 = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (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) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) }))))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (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 ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (break_statement break ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;))) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) , IDENT , (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) , IDENT , IDENT , IDENT , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT != LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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) )))) != (char_literal ' escape_sequence ')) ))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_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) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 = (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 = (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 = (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 (field_expression IDENT . field_identifier) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))))) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , 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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) }))) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (goto_statement goto 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) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = 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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) })))) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 = (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 = (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 = (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 (field_expression IDENT . field_identifier) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (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) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) }) (else_clause else (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) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( IDENT )) (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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( IDENT )) (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) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == LIT)) ;) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) 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) ))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (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) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression ! IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 (binary_expression IDENT >> LIT) & LIT) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) 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) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) )) != LIT)) ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    \n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001da140(uint *param_1,long param_2,long param_3,long *param_4)" (identifier "FUN_001da140") (parameter_list "(uint *param_1,long param_2,long param_3,long *param_4)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) (, ",") (parameter_declaration "long *param_4" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  char *__s2;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  undefined1 uVar10;\n  undefined *puVar11;\n  undefined8 uVar12;\n  uint *puVar13;\n  char cVar14;\n  char cVar15;\n  int iVar16;\n  long lVar17;\n  long lVar18;\n  byte *__s1;\n  ulong *puVar19;\n  long lVar20;\n  ulong uVar21;\n  undefined8 uVar22;\n  undefined8 *puVar23;\n  undefined8 *puVar24;\n  long *plVar25;\n  undefined8 uVar26;\n  byte bVar27;\n  long lVar28;\n  long lVar29;\n  long lVar30;\n  ulong uVar31;\n  ulong uVar32;\n  undefined8 *puVar33;\n  undefined8 *puVar34;\n  size_t sVar35;\n  uint *puVar36;\n  uint *puVar37;\n  byte *pbVar38;\n  byte *pbVar39;\n  uint uVar40;\n  long *plVar41;\n  uint uVar42;\n  uint uVar43;\n  ulong uVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  byte bVar48;\n  void **local_270;\n  long *local_240;\n  ulong local_238;\n  long local_228;\n  long local_220;\n  long local_210;\n  long local_200;\n  long local_1f8;\n  long local_1f0;\n  ulong local_1c8;\n  long local_1c0;\n  uint *local_1a0;\n  undefined1 local_18d;\n  uint local_18c;\n  uint *local_188;\n  uint **local_180;\n  uint *local_178;\n  uint *local_170;\n  uint *local_168;\n  uint *local_158;\n  uint *local_150;\n  undefined8 local_148;\n  uint *local_138;\n  uint *local_130;\n  undefined8 local_128;\n  uint *local_118;\n  uint *local_110;\n  undefined8 local_108;\n  uint *local_f8;\n  uint local_f0;\n  uint auStack_e8 [4];\n  void *local_d8;\n  undefined4 local_d0;\n  uint *local_c8;\n  uint local_c0;\n  void *local_b8;\n  uint *local_a8;\n  uint local_a0;\n  undefined4 uStack_9c;\n  uint auStack_98 [4];\n  uint local_88;\n  undefined8 local_84;\n  undefined8 local_7c;\n  undefined8 uStack_74;\n  undefined8 local_6c;\n  undefined8 uStack_64;\n  undefined8 local_5c;\n  undefined8 uStack_54;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  \n  bVar48 = 0;\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  uVar2 = param_1[0xe];\n  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);\n  if (lVar17 == 0) goto LAB_001db857;\n  if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }\n  if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }\n  if (uVar2 == 0) {\n    return;\n  }\n  local_240 = (long *)FUN_002d9490(0x40);\n  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);\n  local_1f0 = *local_240;\n  *(long **)(param_1 + 0x22) = local_240;\n  local_1f8 = local_240[3];\n  local_1c8 = local_240[2];\n  local_200 = local_240[4];\n  local_220 = local_240[6];\n  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  local_228 = local_240[7];\n  local_1c0 = local_240[1];\n  if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\n  bVar7 = true;\n  bVar8 = false;\n  bVar9 = true;\nLAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);\n  bVar27 = 0;\n  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }\n  uVar44 = (ulong)uVar2;\n  lVar17 = FUN_002d9490(uVar44 * 4);\n  uVar32 = 0;\n  do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);\n                    \n  lVar18 = FUN_002d9490(uVar44 * 4);\n  uVar21 = 0;\n  do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);\n  puVar37 = (uint *)(local_1f0 + 0x40);\n  if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }\n  if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }\n  if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }\n  cVar14 = FUN_0017a850();\n  if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }\n  FUN_002dac60(lVar18);\n  FUN_002dac60(lVar17);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "char *__s2;" (primitive_type "char") (pointer_declarator "*__s2" (* "*") (identifier "__s2")) (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "undefined1 uVar10;" (type_identifier "undefined1") (identifier "uVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "uint *puVar13;" (type_identifier "uint") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "char cVar14;" (primitive_type "char") (identifier "cVar14") (; ";")) (declaration "char cVar15;" (primitive_type "char") (identifier "cVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "long lVar17;" (sized_type_specifier "long" (long "long")) (identifier "lVar17") (; ";")) (declaration "long lVar18;" (sized_type_specifier "long" (long "long")) (identifier "lVar18") (; ";")) (declaration "byte *__s1;" (type_identifier "byte") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "ulong *puVar19;" (type_identifier "ulong") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "long lVar20;" (sized_type_specifier "long" (long "long")) (identifier "lVar20") (; ";")) (declaration "ulong uVar21;" (type_identifier "ulong") (identifier "uVar21") (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "undefined8 *puVar23;" (type_identifier "undefined8") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined8 *puVar24;" (type_identifier "undefined8") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "long *plVar25;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar25" (* "*") (identifier "plVar25")) (; ";")) (declaration "undefined8 uVar26;" (type_identifier "undefined8") (identifier "uVar26") (; ";")) (declaration "byte bVar27;" (type_identifier "byte") (identifier "bVar27") (; ";")) (declaration "long lVar28;" (sized_type_specifier "long" (long "long")) (identifier "lVar28") (; ";")) (declaration "long lVar29;" (sized_type_specifier "long" (long "long")) (identifier "lVar29") (; ";")) (declaration "long lVar30;" (sized_type_specifier "long" (long "long")) (identifier "lVar30") (; ";")) (declaration "ulong uVar31;" (type_identifier "ulong") (identifier "uVar31") (; ";")) (declaration "ulong uVar32;" (type_identifier "ulong") (identifier "uVar32") (; ";")) (declaration "undefined8 *puVar33;" (type_identifier "undefined8") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "undefined8 *puVar34;" (type_identifier "undefined8") (pointer_declarator "*puVar34" (* "*") (identifier "puVar34")) (; ";")) (declaration "size_t sVar35;" (primitive_type "size_t") (identifier "sVar35") (; ";")) (declaration "uint *puVar36;" (type_identifier "uint") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "uint *puVar37;" (type_identifier "uint") (pointer_declarator "*puVar37" (* "*") (identifier "puVar37")) (; ";")) (declaration "byte *pbVar38;" (type_identifier "byte") (pointer_declarator "*pbVar38" (* "*") (identifier "pbVar38")) (; ";")) (declaration "byte *pbVar39;" (type_identifier "byte") (pointer_declarator "*pbVar39" (* "*") (identifier "pbVar39")) (; ";")) (declaration "uint uVar40;" (type_identifier "uint") (identifier "uVar40") (; ";")) (declaration "long *plVar41;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar41" (* "*") (identifier "plVar41")) (; ";")) (declaration "uint uVar42;" (type_identifier "uint") (identifier "uVar42") (; ";")) (declaration "uint uVar43;" (type_identifier "uint") (identifier "uVar43") (; ";")) (declaration "ulong uVar44;" (type_identifier "ulong") (identifier "uVar44") (; ";")) (declaration "bool bVar45;" (primitive_type "bool") (identifier "bVar45") (; ";")) (declaration "bool bVar46;" (primitive_type "bool") (identifier "bVar46") (; ";")) (declaration "bool bVar47;" (primitive_type "bool") (identifier "bVar47") (; ";")) (declaration "byte bVar48;" (type_identifier "byte") (identifier "bVar48") (; ";")) (declaration "void **local_270;" (primitive_type "void") (pointer_declarator "**local_270" (* "*") (pointer_declarator "*local_270" (* "*") (identifier "local_270"))) (; ";")) (declaration "long *local_240;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_240" (* "*") (identifier "local_240")) (; ";")) (declaration "ulong local_238;" (type_identifier "ulong") (identifier "local_238") (; ";")) (declaration "long local_228;" (sized_type_specifier "long" (long "long")) (identifier "local_228") (; ";")) (declaration "long local_220;" (sized_type_specifier "long" (long "long")) (identifier "local_220") (; ";")) (declaration "long local_210;" (sized_type_specifier "long" (long "long")) (identifier "local_210") (; ";")) (declaration "long local_200;" (sized_type_specifier "long" (long "long")) (identifier "local_200") (; ";")) (declaration "long local_1f8;" (sized_type_specifier "long" (long "long")) (identifier "local_1f8") (; ";")) (declaration "long local_1f0;" (sized_type_specifier "long" (long "long")) (identifier "local_1f0") (; ";")) (declaration "ulong local_1c8;" (type_identifier "ulong") (identifier "local_1c8") (; ";")) (declaration "long local_1c0;" (sized_type_specifier "long" (long "long")) (identifier "local_1c0") (; ";")) (declaration "uint *local_1a0;" (type_identifier "uint") (pointer_declarator "*local_1a0" (* "*") (identifier "local_1a0")) (; ";")) (declaration "undefined1 local_18d;" (type_identifier "undefined1") (identifier "local_18d") (; ";")) (declaration "uint local_18c;" (type_identifier "uint") (identifier "local_18c") (; ";")) (declaration "uint *local_188;" (type_identifier "uint") (pointer_declarator "*local_188" (* "*") (identifier "local_188")) (; ";")) (declaration "uint **local_180;" (type_identifier "uint") (pointer_declarator "**local_180" (* "*") (pointer_declarator "*local_180" (* "*") (identifier "local_180"))) (; ";")) (declaration "uint *local_178;" (type_identifier "uint") (pointer_declarator "*local_178" (* "*") (identifier "local_178")) (; ";")) (declaration "uint *local_170;" (type_identifier "uint") (pointer_declarator "*local_170" (* "*") (identifier "local_170")) (; ";")) (declaration "uint *local_168;" (type_identifier "uint") (pointer_declarator "*local_168" (* "*") (identifier "local_168")) (; ";")) (declaration "uint *local_158;" (type_identifier "uint") (pointer_declarator "*local_158" (* "*") (identifier "local_158")) (; ";")) (declaration "uint *local_150;" (type_identifier "uint") (pointer_declarator "*local_150" (* "*") (identifier "local_150")) (; ";")) (declaration "undefined8 local_148;" (type_identifier "undefined8") (identifier "local_148") (; ";")) (declaration "uint *local_138;" (type_identifier "uint") (pointer_declarator "*local_138" (* "*") (identifier "local_138")) (; ";")) (declaration "uint *local_130;" (type_identifier "uint") (pointer_declarator "*local_130" (* "*") (identifier "local_130")) (; ";")) (declaration "undefined8 local_128;" (type_identifier "undefined8") (identifier "local_128") (; ";")) (declaration "uint *local_118;" (type_identifier "uint") (pointer_declarator "*local_118" (* "*") (identifier "local_118")) (; ";")) (declaration "uint *local_110;" (type_identifier "uint") (pointer_declarator "*local_110" (* "*") (identifier "local_110")) (; ";")) (declaration "undefined8 local_108;" (type_identifier "undefined8") (identifier "local_108") (; ";")) (declaration "uint *local_f8;" (type_identifier "uint") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8")) (; ";")) (declaration "uint local_f0;" (type_identifier "uint") (identifier "local_f0") (; ";")) (declaration "uint auStack_e8 [4];" (type_identifier "uint") (array_declarator "auStack_e8 [4]" (identifier "auStack_e8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "void *local_d8;" (primitive_type "void") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "undefined4 local_d0;" (type_identifier "undefined4") (identifier "local_d0") (; ";")) (declaration "uint *local_c8;" (type_identifier "uint") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "uint local_c0;" (type_identifier "uint") (identifier "local_c0") (; ";")) (declaration "void *local_b8;" (primitive_type "void") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "uint *local_a8;" (type_identifier "uint") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "undefined4 uStack_9c;" (type_identifier "undefined4") (identifier "uStack_9c") (; ";")) (declaration "uint auStack_98 [4];" (type_identifier "uint") (array_declarator "auStack_98 [4]" (identifier "auStack_98") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint local_88;" (type_identifier "uint") (identifier "local_88") (; ";")) (declaration "undefined8 local_84;" (type_identifier "undefined8") (identifier "local_84") (; ";")) (declaration "undefined8 local_7c;" (type_identifier "undefined8") (identifier "local_7c") (; ";")) (declaration "undefined8 uStack_74;" (type_identifier "undefined8") (identifier "uStack_74") (; ";")) (declaration "undefined8 local_6c;" (type_identifier "undefined8") (identifier "local_6c") (; ";")) (declaration "undefined8 uStack_64;" (type_identifier "undefined8") (identifier "uStack_64") (; ";")) (declaration "undefined8 local_5c;" (type_identifier "undefined8") (identifier "local_5c") (; ";")) (declaration "undefined8 uStack_54;" (type_identifier "undefined8") (identifier "uStack_54") (; ";")) (declaration "undefined8 local_4c;" (type_identifier "undefined8") (identifier "local_4c") (; ";")) (declaration "undefined8 uStack_44;" (type_identifier "undefined8") (identifier "uStack_44") (; ";")) (expression_statement "bVar48 = 0;" (assignment_expression "bVar48 = 0" (identifier "bVar48") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar17") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar2 = param_1[0xe];" (assignment_expression "uVar2 = param_1[0xe]" (identifier "uVar2") (= "=") (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);" (assignment_expression "uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" (* "*") (cast_expression "(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c)" (( "(") (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (if_statement "if (lVar17 == 0) goto LAB_001db857;" (if "if") (parenthesized_expression "(lVar17 == 0)" (( "(") (binary_expression "lVar17 == 0" (identifier "lVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001db857;" (goto "goto") (statement_identifier "LAB_001db857") (; ";"))) (if_statement "if (*(char *)(lVar17 + 0x2809) == '\0') {\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }\n  else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(lVar17 + 0x2809) == '\0')" (( "(") (binary_expression "*(char *)(lVar17 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar17 + 0x2809)" (* "*") (cast_expression "(char *)(lVar17 + 0x2809)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + 0x2809)" (( "(") (binary_expression "lVar17 + 0x2809" (identifier "lVar17") (+ "+") (number_literal "0x2809")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(lVar17 + 0x9050) == 0) {\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }\n    else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" (if "if") (parenthesized_expression "(*(int *)(lVar17 + 0x9050) == 0)" (( "(") (binary_expression "*(int *)(lVar17 + 0x9050) == 0" (pointer_expression "*(int *)(lVar17 + 0x9050)" (* "*") (cast_expression "(int *)(lVar17 + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + 0x9050)" (( "(") (binary_expression "lVar17 + 0x9050" (identifier "lVar17") (+ "+") (number_literal "0x9050")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001da1f0;\n    }" ({ "{") (if_statement "if (*(char *)(param_3 + 0x372) == '\0') {\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }" (if "if") (parenthesized_expression "(*(char *)(param_3 + 0x372) == '\0')" (( "(") (binary_expression "*(char *)(param_3 + 0x372) == '\0'" (pointer_expression "*(char *)(param_3 + 0x372)" (* "*") (cast_expression "(char *)(param_3 + 0x372)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x372)" (( "(") (binary_expression "param_3 + 0x372" (identifier "param_3") (+ "+") (number_literal "0x372")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (uVar2 == 0) {\n          return;\n        }\n        local_1c8 = param_4[2];\n        local_1f0 = *(long *)(*param_4 + 0x10);\n        local_1f8 = param_4[3];\n        if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }\n        local_200 = param_4[4];\n        local_220 = param_4[6];\n        if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }\n        bVar7 = false;\n        bVar8 = false;\n        local_228 = param_4[7];\n        local_240 = (long *)0x0;\n        local_1c0 = *(long *)(param_4[1] + 0x10);\n        bVar9 = false;\n        goto LAB_001da266;\n      }" ({ "{") (if_statement "if (uVar2 == 0) {\n          return;\n        }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_1c8 = param_4[2];" (assignment_expression "local_1c8 = param_4[2]" (identifier "local_1c8") (= "=") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_1f0 = *(long *)(*param_4 + 0x10);" (assignment_expression "local_1f0 = *(long *)(*param_4 + 0x10)" (identifier "local_1f0") (= "=") (pointer_expression "*(long *)(*param_4 + 0x10)" (* "*") (cast_expression "(long *)(*param_4 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + 0x10)" (( "(") (binary_expression "*param_4 + 0x10" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_1f8 = param_4[3];" (assignment_expression "local_1f8 = param_4[3]" (identifier "local_1f8") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (local_1f8 != 0) {\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }" (if "if") (parenthesized_expression "(local_1f8 != 0)" (( "(") (binary_expression "local_1f8 != 0" (identifier "local_1f8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_1f8 = *(long *)(local_1f8 + 0x10);\n        }" ({ "{") (expression_statement "local_1f8 = *(long *)(local_1f8 + 0x10);" (assignment_expression "local_1f8 = *(long *)(local_1f8 + 0x10)" (identifier "local_1f8") (= "=") (pointer_expression "*(long *)(local_1f8 + 0x10)" (* "*") (cast_expression "(long *)(local_1f8 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1f8 + 0x10)" (( "(") (binary_expression "local_1f8 + 0x10" (identifier "local_1f8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_200 = param_4[4];" (assignment_expression "local_200 = param_4[4]" (identifier "local_200") (= "=") (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_220 = param_4[6];" (assignment_expression "local_220 = param_4[6]" (identifier "local_220") (= "=") (subscript_expression "param_4[6]" (identifier "param_4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (local_220 != 0) {\n          local_220 = *(long *)(local_220 + 0x10);\n        }" (if "if") (parenthesized_expression "(local_220 != 0)" (( "(") (binary_expression "local_220 != 0" (identifier "local_220") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_220 = *(long *)(local_220 + 0x10);\n        }" ({ "{") (expression_statement "local_220 = *(long *)(local_220 + 0x10);" (assignment_expression "local_220 = *(long *)(local_220 + 0x10)" (identifier "local_220") (= "=") (pointer_expression "*(long *)(local_220 + 0x10)" (* "*") (cast_expression "(long *)(local_220 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_220 + 0x10)" (( "(") (binary_expression "local_220 + 0x10" (identifier "local_220") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "local_228 = param_4[7];" (assignment_expression "local_228 = param_4[7]" (identifier "local_228") (= "=") (subscript_expression "param_4[7]" (identifier "param_4") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_240 = (long *)0x0;" (assignment_expression "local_240 = (long *)0x0" (identifier "local_240") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1c0 = *(long *)(param_4[1] + 0x10);" (assignment_expression "local_1c0 = *(long *)(param_4[1] + 0x10)" (identifier "local_1c0") (= "=") (pointer_expression "*(long *)(param_4[1] + 0x10)" (* "*") (cast_expression "(long *)(param_4[1] + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4[1] + 0x10)" (( "(") (binary_expression "param_4[1] + 0x10" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_001da266;" (goto "goto") (statement_identifier "LAB_001da266") (; ";")) (} "}"))) (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" (identifier "local_240") (= "=") (pointer_expression "*(long **)(param_1 + 0x22)" (* "*") (cast_expression "(long **)(param_1 + 0x22)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x22)" (( "(") (binary_expression "param_1 + 0x22" (identifier "param_1") (+ "+") (number_literal "0x22")) () ")"))))) (; ";")) (if_statement "if (local_240 != (long *)0x0) goto LAB_001da1f0;" (if "if") (parenthesized_expression "(local_240 != (long *)0x0)" (( "(") (binary_expression "local_240 != (long *)0x0" (identifier "local_240") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001da1f0;" (goto "goto") (statement_identifier "LAB_001da1f0") (; ";"))) (} "}")) (else_clause "else {\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" (else "else") (compound_statement "{\n      local_240 = *(long **)(param_1 + 0x22);\n      if (local_240 != (long *)0x0) goto LAB_001db71f;\n    }" ({ "{") (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" (identifier "local_240") (= "=") (pointer_expression "*(long **)(param_1 + 0x22)" (* "*") (cast_expression "(long **)(param_1 + 0x22)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x22)" (( "(") (binary_expression "param_1 + 0x22" (identifier "param_1") (+ "+") (number_literal "0x22")) () ")"))))) (; ";")) (if_statement "if (local_240 != (long *)0x0) goto LAB_001db71f;" (if "if") (parenthesized_expression "(local_240 != (long *)0x0)" (( "(") (binary_expression "local_240 != (long *)0x0" (identifier "local_240") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001db71f;" (goto "goto") (statement_identifier "LAB_001db71f") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" (else "else") (compound_statement "{\n    local_240 = *(long **)(param_1 + 0x22);\n    if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }\n  }" ({ "{") (expression_statement "local_240 = *(long **)(param_1 + 0x22);" (assignment_expression "local_240 = *(long **)(param_1 + 0x22)" (identifier "local_240") (= "=") (pointer_expression "*(long **)(param_1 + 0x22)" (* "*") (cast_expression "(long **)(param_1 + 0x22)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x22)" (( "(") (binary_expression "param_1 + 0x22" (identifier "param_1") (+ "+") (number_literal "0x22")) () ")"))))) (; ";")) (if_statement "if (local_240 != (long *)0x0) {\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }" (if "if") (parenthesized_expression "(local_240 != (long *)0x0)" (( "(") (binary_expression "local_240 != (long *)0x0" (identifier "local_240") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }\n      if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }\nLAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }\n      bVar7 = true;\n      bVar8 = true;\n      local_1f0 = *local_240;\n      local_1f8 = local_240[3];\n      bVar9 = false;\n      local_200 = local_240[4];\n      local_1c8 = local_240[2];\n      local_228 = local_240[7];\n      local_220 = local_240[6];\n      local_1c0 = local_240[1];\n      goto LAB_001da266;\n    }" ({ "{") (if_statement "if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0')" (( "(") (binary_expression "*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0'" (pointer_expression "*(char *)(*(long *)(param_2 + 0x290) + 0x18)" (* "*") (cast_expression "(char *)(*(long *)(param_2 + 0x290) + 0x18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_2 + 0x290) + 0x18)" (( "(") (binary_expression "*(long *)(param_2 + 0x290) + 0x18" (pointer_expression "*(long *)(param_2 + 0x290)" (* "*") (cast_expression "(long *)(param_2 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x290)" (( "(") (binary_expression "param_2 + 0x290" (identifier "param_2") (+ "+") (number_literal "0x290")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");\n      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x59d,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x59d,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x59d") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(lVar17 + 0x9050) != 0) {\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(lVar17 + 0x9050) != 0)" (( "(") (binary_expression "*(int *)(lVar17 + 0x9050) != 0" (pointer_expression "*(int *)(lVar17 + 0x9050)" (* "*") (cast_expression "(int *)(lVar17 + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + 0x9050)" (( "(") (binary_expression "lVar17 + 0x9050" (identifier "lVar17") (+ "+") (number_literal "0x9050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }\n      }" ({ "{") (labeled_statement "LAB_001db71f:\n        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" (statement_identifier "LAB_001db71f") (: ":") (if_statement "if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0')" (( "(") (binary_expression "*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0'" (pointer_expression "*(char *)(*(long *)(param_2 + 0x298) + 0xa0)" (* "*") (cast_expression "(char *)(*(long *)(param_2 + 0x298) + 0xa0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_2 + 0x298) + 0xa0)" (( "(") (binary_expression "*(long *)(param_2 + 0x298) + 0xa0" (pointer_expression "*(long *)(param_2 + 0x298)" (* "*") (cast_expression "(long *)(param_2 + 0x298)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x298)" (( "(") (binary_expression "param_2 + 0x298" (identifier "param_2") (+ "+") (number_literal "0x298")) () ")")))) (+ "+") (number_literal "0xa0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x59f,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x59f,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x59f") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_001da1f0:\n      if (uVar2 == 0) {\n        return;\n      }" (statement_identifier "LAB_001da1f0") (: ":") (if_statement "if (uVar2 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" (identifier "bVar8") (= "=") (true "true")) (; ";")) (expression_statement "local_1f0 = *local_240;" (assignment_expression "local_1f0 = *local_240" (identifier "local_1f0") (= "=") (pointer_expression "*local_240" (* "*") (identifier "local_240"))) (; ";")) (expression_statement "local_1f8 = local_240[3];" (assignment_expression "local_1f8 = local_240[3]" (identifier "local_1f8") (= "=") (subscript_expression "local_240[3]" (identifier "local_240") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "local_200 = local_240[4];" (assignment_expression "local_200 = local_240[4]" (identifier "local_200") (= "=") (subscript_expression "local_240[4]" (identifier "local_240") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_1c8 = local_240[2];" (assignment_expression "local_1c8 = local_240[2]" (identifier "local_1c8") (= "=") (subscript_expression "local_240[2]" (identifier "local_240") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_228 = local_240[7];" (assignment_expression "local_228 = local_240[7]" (identifier "local_228") (= "=") (subscript_expression "local_240[7]" (identifier "local_240") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_220 = local_240[6];" (assignment_expression "local_220 = local_240[6]" (identifier "local_220") (= "=") (subscript_expression "local_240[6]" (identifier "local_240") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_1c0 = local_240[1];" (assignment_expression "local_1c0 = local_240[1]" (identifier "local_1c0") (= "=") (subscript_expression "local_240[1]" (identifier "local_240") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto LAB_001da266;" (goto "goto") (statement_identifier "LAB_001da266") (; ";")) (} "}"))) (} "}")))) (if_statement "if (param_4 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }" (if "if") (parenthesized_expression "(param_4 == (long *)0x0)" (( "(") (binary_expression "param_4 == (long *)0x0" (identifier "param_4") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x597,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x597,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x597,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x597") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar2 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_240 = (long *)FUN_002d9490(0x40);" (assignment_expression "local_240 = (long *)FUN_002d9490(0x40)" (identifier "local_240") (= "=") (cast_expression "(long *)FUN_002d9490(0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x40)" (identifier "FUN_002d9490") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")"))))) (; ";")) (expression_statement "FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);" (call_expression "FUN_001bd460(param_1,local_240,param_4,uVar2 << 6)" (identifier "FUN_001bd460") (argument_list "(param_1,local_240,param_4,uVar2 << 6)" (( "(") (identifier "param_1") (, ",") (identifier "local_240") (, ",") (identifier "param_4") (, ",") (binary_expression "uVar2 << 6" (identifier "uVar2") (<< "<<") (number_literal "6")) () ")"))) (; ";")) (expression_statement "local_1f0 = *local_240;" (assignment_expression "local_1f0 = *local_240" (identifier "local_1f0") (= "=") (pointer_expression "*local_240" (* "*") (identifier "local_240"))) (; ";")) (expression_statement "*(long **)(param_1 + 0x22) = local_240;" (assignment_expression "*(long **)(param_1 + 0x22) = local_240" (pointer_expression "*(long **)(param_1 + 0x22)" (* "*") (cast_expression "(long **)(param_1 + 0x22)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x22)" (( "(") (binary_expression "param_1 + 0x22" (identifier "param_1") (+ "+") (number_literal "0x22")) () ")")))) (= "=") (identifier "local_240")) (; ";")) (expression_statement "local_1f8 = local_240[3];" (assignment_expression "local_1f8 = local_240[3]" (identifier "local_1f8") (= "=") (subscript_expression "local_240[3]" (identifier "local_240") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "local_1c8 = local_240[2];" (assignment_expression "local_1c8 = local_240[2]" (identifier "local_1c8") (= "=") (subscript_expression "local_240[2]" (identifier "local_240") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_200 = local_240[4];" (assignment_expression "local_200 = local_240[4]" (identifier "local_200") (= "=") (subscript_expression "local_240[4]" (identifier "local_240") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_220 = local_240[6];" (assignment_expression "local_220 = local_240[6]" (identifier "local_220") (= "=") (subscript_expression "local_240[6]" (identifier "local_240") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar17") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_228 = local_240[7];" (assignment_expression "local_228 = local_240[7]" (identifier "local_228") (= "=") (subscript_expression "local_240[7]" (identifier "local_240") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_1c0 = local_240[1];" (assignment_expression "local_1c0 = local_240[1]" (identifier "local_1c0") (= "=") (subscript_expression "local_240[1]" (identifier "local_240") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (lVar17 == 0) {\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(lVar17 == 0)" (( "(") (binary_expression "lVar17 == 0" (identifier "lVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (labeled_statement "LAB_001db857:\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_001db857") (: ":") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" (identifier "bVar9") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_001da266:\n  lVar17 = *(long *)(lVar17 + 0x9058);" (statement_identifier "LAB_001da266") (: ":") (expression_statement "lVar17 = *(long *)(lVar17 + 0x9058);" (assignment_expression "lVar17 = *(long *)(lVar17 + 0x9058)" (identifier "lVar17") (= "=") (pointer_expression "*(long *)(lVar17 + 0x9058)" (* "*") (cast_expression "(long *)(lVar17 + 0x9058)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + 0x9058)" (( "(") (binary_expression "lVar17 + 0x9058" (identifier "lVar17") (+ "+") (number_literal "0x9058")) () ")"))))) (; ";"))) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" (identifier "bVar27") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }" (if "if") (parenthesized_expression "((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0))" (( "(") (binary_expression "(lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)" (parenthesized_expression "(lVar17 != 0)" (( "(") (binary_expression "lVar17 != 0" (identifier "lVar17") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)" (( "(") (comma_expression "bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0" (assignment_expression "bVar27 = *(byte *)(lVar17 + 0xb0)" (identifier "bVar27") (= "=") (pointer_expression "*(byte *)(lVar17 + 0xb0)" (* "*") (cast_expression "(byte *)(lVar17 + 0xb0)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + 0xb0)" (( "(") (binary_expression "lVar17 + 0xb0" (identifier "lVar17") (+ "+") (number_literal "0xb0")) () ")"))))) (, ",") (binary_expression "bVar27 != 0" (identifier "bVar27") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;\n  }" ({ "{") (expression_statement "bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;" (assignment_expression "bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1" (identifier "bVar27") (= "=") (binary_expression "*(byte *)(lVar17 + 0xb1) ^ 1" (pointer_expression "*(byte *)(lVar17 + 0xb1)" (* "*") (cast_expression "(byte *)(lVar17 + 0xb1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + 0xb1)" (( "(") (binary_expression "lVar17 + 0xb1" (identifier "lVar17") (+ "+") (number_literal "0xb1")) () ")")))) (^ "^") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar44 = (ulong)uVar2;" (assignment_expression "uVar44 = (ulong)uVar2" (identifier "uVar44") (= "=") (cast_expression "(ulong)uVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "lVar17 = FUN_002d9490(uVar44 * 4);" (assignment_expression "lVar17 = FUN_002d9490(uVar44 * 4)" (identifier "lVar17") (= "=") (call_expression "FUN_002d9490(uVar44 * 4)" (identifier "FUN_002d9490") (argument_list "(uVar44 * 4)" (( "(") (binary_expression "uVar44 * 4" (identifier "uVar44") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "uVar32 = 0;" (assignment_expression "uVar32 = 0" (identifier "uVar32") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  } while (uVar44 != uVar32);" (do "do") (compound_statement "{\n    uVar31 = uVar32;\n    uVar32 = uVar31 + 1;\n    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;\n  }" ({ "{") (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" (identifier "uVar31") (= "=") (identifier "uVar32")) (; ";")) (expression_statement "uVar32 = uVar31 + 1;" (assignment_expression "uVar32 = uVar31 + 1" (identifier "uVar32") (= "=") (binary_expression "uVar31 + 1" (identifier "uVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(lVar17 + uVar31 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar17 + uVar31 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar17 + uVar31 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar17 + uVar31 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + uVar31 * 4)" (( "(") (binary_expression "lVar17 + uVar31 * 4" (identifier "lVar17") (+ "+") (binary_expression "uVar31 * 4" (identifier "uVar31") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar44 != uVar32)" (( "(") (binary_expression "uVar44 != uVar32" (identifier "uVar44") (!= "!=") (identifier "uVar32")) () ")")) (; ";")) (expression_statement "lVar18 = FUN_002d9490(uVar44 * 4);" (assignment_expression "lVar18 = FUN_002d9490(uVar44 * 4)" (identifier "lVar18") (= "=") (call_expression "FUN_002d9490(uVar44 * 4)" (identifier "FUN_002d9490") (argument_list "(uVar44 * 4)" (( "(") (binary_expression "uVar44 * 4" (identifier "uVar44") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  } while (bVar45);" (do "do") (compound_statement "{\n    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;\n    bVar45 = uVar31 != uVar21;\n    uVar21 = uVar21 + 1;\n  }" ({ "{") (expression_statement "*(undefined4 *)(lVar18 + uVar21 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar18 + uVar21 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar18 + uVar21 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + uVar21 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + uVar21 * 4)" (( "(") (binary_expression "lVar18 + uVar21 * 4" (identifier "lVar18") (+ "+") (binary_expression "uVar21 * 4" (identifier "uVar21") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar45 = uVar31 != uVar21;" (assignment_expression "bVar45 = uVar31 != uVar21" (identifier "bVar45") (= "=") (binary_expression "uVar31 != uVar21" (identifier "uVar31") (!= "!=") (identifier "uVar21"))) (; ";")) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (; ";")) (expression_statement "puVar37 = (uint *)(local_1f0 + 0x40);" (assignment_expression "puVar37 = (uint *)(local_1f0 + 0x40)" (identifier "puVar37") (= "=") (cast_expression "(uint *)(local_1f0 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1f0 + 0x40)" (( "(") (binary_expression "local_1f0 + 0x40" (identifier "local_1f0") (+ "+") (number_literal "0x40")) () ")")))) (; ";")) (if_statement "if (uVar2 < 2) {\n    uVar43 = 0;\n  }\n  else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" (if "if") (parenthesized_expression "(uVar2 < 2)" (( "(") (binary_expression "uVar2 < 2" (identifier "uVar2") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    uVar43 = 0;\n  }" ({ "{") (expression_statement "uVar43 = 0;" (assignment_expression "uVar43 = 0" (identifier "uVar43") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" (else "else") (compound_statement "{\n    uVar42 = 1;\n    uVar43 = 0;\n    local_1a0 = puVar37;\n    do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);\n  }" ({ "{") (expression_statement "uVar42 = 1;" (assignment_expression "uVar42 = 1" (identifier "uVar42") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar43 = 0;" (assignment_expression "uVar43 = 0" (identifier "uVar43") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1a0 = puVar37;" (assignment_expression "local_1a0 = puVar37" (identifier "local_1a0") (= "=") (identifier "puVar37")) (; ";")) (do_statement "do {\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    } while (uVar42 != uVar2);" (do "do") (compound_statement "{\n      if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }\n      uVar4 = local_1a0[1];\n      if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }\n      uVar42 = uVar42 + 1;\n      local_1a0 = local_1a0 + 0x10;\n    }" ({ "{") (if_statement "if (bVar27 != 0) {\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }" (if "if") (parenthesized_expression "(bVar27 != 0)" (( "(") (binary_expression "bVar27 != 0" (identifier "bVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);\n      }" ({ "{") (expression_statement "uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);" (assignment_expression "uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (identifier "uVar43") (= "=") (binary_expression "(uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (parenthesized_expression "(uVar43 + 1)" (( "(") (binary_expression "uVar43 + 1" (identifier "uVar43") (+ "+") (number_literal "1")) () ")")) (- "-") (call_expression "(uint)((*(ulong *)(local_1a0 + 2) & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(ulong *)(local_1a0 + 2) & 2) == 0)" (( "(") (binary_expression "(*(ulong *)(local_1a0 + 2) & 2) == 0" (parenthesized_expression "(*(ulong *)(local_1a0 + 2) & 2)" (( "(") (binary_expression "*(ulong *)(local_1a0 + 2) & 2" (pointer_expression "*(ulong *)(local_1a0 + 2)" (* "*") (cast_expression "(ulong *)(local_1a0 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1a0 + 2)" (( "(") (binary_expression "local_1a0 + 2" (identifier "local_1a0") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar4 = local_1a0[1];" (assignment_expression "uVar4 = local_1a0[1]" (identifier "uVar4") (= "=") (subscript_expression "local_1a0[1]" (identifier "local_1a0") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((uVar4 == 9) || (uVar4 == 4)) {\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }" (if "if") (parenthesized_expression "((uVar4 == 9) || (uVar4 == 4))" (( "(") (binary_expression "(uVar4 == 9) || (uVar4 == 4)" (parenthesized_expression "(uVar4 == 9)" (( "(") (binary_expression "uVar4 == 9" (identifier "uVar4") (== "==") (number_literal "9")) () ")")) (|| "||") (parenthesized_expression "(uVar4 == 4)" (( "(") (binary_expression "uVar4 == 4" (identifier "uVar4") (== "==") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n        uVar40 = local_1a0[0xb];\n        if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }\n        uVar21 = (ulong)uVar40;\n        if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }\n      }" ({ "{") (expression_statement "uVar40 = local_1a0[0xb];" (assignment_expression "uVar40 = local_1a0[0xb]" (identifier "uVar40") (= "=") (subscript_expression "local_1a0[0xb]" (identifier "local_1a0") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (if_statement "if (0xfeff < uVar40) {\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }" (if "if") (parenthesized_expression "(0xfeff < uVar40)" (( "(") (binary_expression "0xfeff < uVar40" (number_literal "0xfeff") (< "<") (identifier "uVar40")) () ")")) (compound_statement "{\n                    \n          FUN_001682d0(param_1 + 0x3e);\n          uVar40 = uVar40 + param_1[0x44];\n        }" ({ "{") (expression_statement "FUN_001682d0(param_1 + 0x3e);" (call_expression "FUN_001682d0(param_1 + 0x3e)" (identifier "FUN_001682d0") (argument_list "(param_1 + 0x3e)" (( "(") (binary_expression "param_1 + 0x3e" (identifier "param_1") (+ "+") (number_literal "0x3e")) () ")"))) (; ";")) (expression_statement "uVar40 = uVar40 + param_1[0x44];" (assignment_expression "uVar40 = uVar40 + param_1[0x44]" (identifier "uVar40") (= "=") (binary_expression "uVar40 + param_1[0x44]" (identifier "uVar40") (+ "+") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (} "}"))) (expression_statement "uVar21 = (ulong)uVar40;" (assignment_expression "uVar21 = (ulong)uVar40" (identifier "uVar21") (= "=") (cast_expression "(ulong)uVar40" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar40"))) (; ";")) (if_statement "if ((uVar40 == 0) || (uVar2 <= uVar40)) {\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }\n        else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" (if "if") (parenthesized_expression "((uVar40 == 0) || (uVar2 <= uVar40))" (( "(") (binary_expression "(uVar40 == 0) || (uVar2 <= uVar40)" (parenthesized_expression "(uVar40 == 0)" (( "(") (binary_expression "uVar40 == 0" (identifier "uVar40") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar2 <= uVar40)" (( "(") (binary_expression "uVar2 <= uVar40" (identifier "uVar2") (<= "<=") (identifier "uVar40")) () ")"))) () ")")) (compound_statement "{\n          uVar22 = gettext("relocation section %u has bad info %u");\n          FUN_001bd150(param_1,uVar22,uVar42,uVar21);\n        }" ({ "{") (expression_statement "uVar22 = gettext("relocation section %u has bad info %u");" (assignment_expression "uVar22 = gettext("relocation section %u has bad info %u")" (identifier "uVar22") (= "=") (call_expression "gettext("relocation section %u has bad info %u")" (identifier "gettext") (argument_list "("relocation section %u has bad info %u")" (( "(") (string_literal ""relocation section %u has bad info %u"" (" """) (string_content "relocation section %u has bad info %u") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001bd150(param_1,uVar22,uVar42,uVar21);" (call_expression "FUN_001bd150(param_1,uVar22,uVar42,uVar21)" (identifier "FUN_001bd150") (argument_list "(param_1,uVar22,uVar42,uVar21)" (( "(") (identifier "param_1") (, ",") (identifier "uVar22") (, ",") (identifier "uVar42") (, ",") (identifier "uVar21") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" (else "else") (compound_statement "{\n          puVar36 = (uint *)(lVar17 + uVar21 * 4);\n          if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }\n        }" ({ "{") (expression_statement "puVar36 = (uint *)(lVar17 + uVar21 * 4);" (assignment_expression "puVar36 = (uint *)(lVar17 + uVar21 * 4)" (identifier "puVar36") (= "=") (cast_expression "(uint *)(lVar17 + uVar21 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + uVar21 * 4)" (( "(") (binary_expression "lVar17 + uVar21 * 4" (identifier "lVar17") (+ "+") (binary_expression "uVar21 * 4" (identifier "uVar21") (* "*") (number_literal "4"))) () ")")))) (; ";")) (if_statement "if (*puVar36 == 0) {\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }\n          else {\n            *puVar36 = 0xffffffff;\n          }" (if "if") (parenthesized_expression "(*puVar36 == 0)" (( "(") (binary_expression "*puVar36 == 0" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *puVar36 = uVar42;\n            *(uint *)(lVar18 + uVar21 * 4) = uVar4;\n          }" ({ "{") (expression_statement "*puVar36 = uVar42;" (assignment_expression "*puVar36 = uVar42" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (= "=") (identifier "uVar42")) (; ";")) (expression_statement "*(uint *)(lVar18 + uVar21 * 4) = uVar4;" (assignment_expression "*(uint *)(lVar18 + uVar21 * 4) = uVar4" (pointer_expression "*(uint *)(lVar18 + uVar21 * 4)" (* "*") (cast_expression "(uint *)(lVar18 + uVar21 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + uVar21 * 4)" (( "(") (binary_expression "lVar18 + uVar21 * 4" (identifier "lVar18") (+ "+") (binary_expression "uVar21 * 4" (identifier "uVar21") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (} "}")) (else_clause "else {\n            *puVar36 = 0xffffffff;\n          }" (else "else") (compound_statement "{\n            *puVar36 = 0xffffffff;\n          }" ({ "{") (expression_statement "*puVar36 = 0xffffffff;" (assignment_expression "*puVar36 = 0xffffffff" (pointer_expression "*puVar36" (* "*") (identifier "puVar36")) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")))) (} "}")))) (} "}"))) (expression_statement "uVar42 = uVar42 + 1;" (assignment_expression "uVar42 = uVar42 + 1" (identifier "uVar42") (= "=") (binary_expression "uVar42 + 1" (identifier "uVar42") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_1a0 = local_1a0 + 0x10;" (assignment_expression "local_1a0 = local_1a0 + 0x10" (identifier "local_1a0") (= "=") (binary_expression "local_1a0 + 0x10" (identifier "local_1a0") (+ "+") (number_literal "0x10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar42 != uVar2)" (( "(") (binary_expression "uVar42 != uVar2" (identifier "uVar42") (!= "!=") (identifier "uVar2")) () ")")) (; ";")) (} "}")))) (if_statement "if (!bVar8) {\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }" (if "if") (parenthesized_expression "(!bVar8)" (( "(") (unary_expression "!bVar8" (! "!") (identifier "bVar8")) () ")")) (compound_statement "{\n    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;\n    if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }\n    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;\n    if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }\n  }" ({ "{") (expression_statement "uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;" (assignment_expression "uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3" (identifier "uVar21") (= "=") (binary_expression "*(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3" (binary_expression "*(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14)" (pointer_expression "*(long *)(param_1 + 0x16)" (* "*") (cast_expression "(long *)(param_1 + 0x16)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x16)" (( "(") (binary_expression "param_1 + 0x16" (identifier "param_1") (+ "+") (number_literal "0x16")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar21 < uVar32) {\n      FUN_00192810(param_1 + 0x14);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" (if "if") (parenthesized_expression "(uVar21 < uVar32)" (( "(") (binary_expression "uVar21 < uVar32" (identifier "uVar21") (< "<") (identifier "uVar32")) () ")")) (compound_statement "{\n      FUN_00192810(param_1 + 0x14);\n    }" ({ "{") (expression_statement "FUN_00192810(param_1 + 0x14);" (call_expression "FUN_00192810(param_1 + 0x14)" (identifier "FUN_00192810") (argument_list "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))) (; ";")) (} "}")) (else_clause "else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" (else "else") (if_statement "if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))\n    {\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" (if "if") (parenthesized_expression "((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))" (( "(") (binary_expression "(uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28)" (parenthesized_expression "(uVar32 < uVar21)" (( "(") (binary_expression "uVar32 < uVar21" (identifier "uVar32") (< "<") (identifier "uVar21")) () ")")) (&& "&&") (parenthesized_expression "(lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28)" (( "(") (comma_expression "lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28" (assignment_expression "lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8" (identifier "lVar28") (= "=") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8")))) (, ",") (binary_expression "*(long *)(param_1 + 0x16) != lVar28" (pointer_expression "*(long *)(param_1 + 0x16)" (* "*") (cast_expression "(long *)(param_1 + 0x16)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x16)" (( "(") (binary_expression "param_1 + 0x16" (identifier "param_1") (+ "+") (number_literal "0x16")) () ")")))) (!= "!=") (identifier "lVar28"))) () ")"))) () ")")) (compound_statement "{\n      *(long *)(param_1 + 0x16) = lVar28;\n    }" ({ "{") (expression_statement "*(long *)(param_1 + 0x16) = lVar28;" (assignment_expression "*(long *)(param_1 + 0x16) = lVar28" (pointer_expression "*(long *)(param_1 + 0x16)" (* "*") (cast_expression "(long *)(param_1 + 0x16)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x16)" (( "(") (binary_expression "param_1 + 0x16" (identifier "param_1") (+ "+") (number_literal "0x16")) () ")")))) (= "=") (identifier "lVar28")) (; ";")) (} "}"))))) (expression_statement "uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;" (assignment_expression "uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3" (identifier "uVar21") (= "=") (binary_expression "*(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3" (binary_expression "*(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38)" (pointer_expression "*(long *)(param_1 + 0x3a)" (* "*") (cast_expression "(long *)(param_1 + 0x3a)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3a)" (( "(") (binary_expression "param_1 + 0x3a" (identifier "param_1") (+ "+") (number_literal "0x3a")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar21 < uVar32) {\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }\n    else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" (if "if") (parenthesized_expression "(uVar21 < uVar32)" (( "(") (binary_expression "uVar21 < uVar32" (identifier "uVar21") (< "<") (identifier "uVar32")) () ")")) (compound_statement "{\n                    \n      FUN_00167c60(param_1 + 0x38);\n    }" ({ "{") (expression_statement "FUN_00167c60(param_1 + 0x38);" (call_expression "FUN_00167c60(param_1 + 0x38)" (identifier "FUN_00167c60") (argument_list "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))) (; ";")) (} "}")) (else_clause "else if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" (else "else") (if_statement "if ((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))\n    {\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" (if "if") (parenthesized_expression "((uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))" (( "(") (binary_expression "(uVar32 < uVar21) &&\n            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28)" (parenthesized_expression "(uVar32 < uVar21)" (( "(") (binary_expression "uVar32 < uVar21" (identifier "uVar32") (< "<") (identifier "uVar21")) () ")")) (&& "&&") (parenthesized_expression "(lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28)" (( "(") (comma_expression "lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28" (assignment_expression "lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8" (identifier "lVar28") (= "=") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8")))) (, ",") (binary_expression "*(long *)(param_1 + 0x3a) != lVar28" (pointer_expression "*(long *)(param_1 + 0x3a)" (* "*") (cast_expression "(long *)(param_1 + 0x3a)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3a)" (( "(") (binary_expression "param_1 + 0x3a" (identifier "param_1") (+ "+") (number_literal "0x3a")) () ")")))) (!= "!=") (identifier "lVar28"))) () ")"))) () ")")) (compound_statement "{\n      *(long *)(param_1 + 0x3a) = lVar28;\n    }" ({ "{") (expression_statement "*(long *)(param_1 + 0x3a) = lVar28;" (assignment_expression "*(long *)(param_1 + 0x3a) = lVar28" (pointer_expression "*(long *)(param_1 + 0x3a)" (* "*") (cast_expression "(long *)(param_1 + 0x3a)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3a)" (( "(") (binary_expression "param_1 + 0x3a" (identifier "param_1") (+ "+") (number_literal "0x3a")) () ")")))) (= "=") (identifier "lVar28")) (; ";")) (} "}"))))) (} "}"))) (if_statement "if (*(long *)(param_1 + 10) == 0) {\n                    \n                    \n    FUN_001bcf60();\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 10) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 10) == 0" (pointer_expression "*(long *)(param_1 + 10)" (* "*") (cast_expression "(long *)(param_1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n    FUN_001bcf60();\n  }" ({ "{") (expression_statement "FUN_001bcf60();" (call_expression "FUN_001bcf60()" (identifier "FUN_001bcf60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "cVar14 = FUN_0017a850();" (assignment_expression "cVar14 = FUN_0017a850()" (identifier "cVar14") (= "=") (call_expression "FUN_0017a850()" (identifier "FUN_0017a850") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar14 == '\0') {\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }\n  else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" (if "if") (parenthesized_expression "(cVar14 == '\0')" (( "(") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }\n    local_d8 = (void *)0x0;\n    local_d0 = 0;\n    local_c8 = (uint *)0x0;\n    sVar35 = (uVar31 + 0x40 >> 6) * 8;\n    local_c0 = 0;\n    local_b8 = (void *)0x0;\n                    \n    local_d8 = (void *)FUN_002d9490(sVar35);\n    local_b8 = (void *)((long)local_d8 + sVar35);\n    local_d0 = 0;\n    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);\n    local_c0 = uVar2 & 0x3f;\n    local_a8 = local_c8;\n    local_a0 = local_c0;\n    memset(local_d8,0,sVar35);\n    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    cVar14 = *(char *)(lVar28 + 0x5051);\n    cVar1 = cVar14;\n    if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }\n    local_178 = (uint *)0x0;\n    local_170 = (uint *)0x0;\n    local_168 = (uint *)0x0;\n    local_158 = (uint *)0x0;\n    local_150 = (uint *)0x0;\n    local_148 = 0;\n    local_138 = (uint *)0x0;\n    local_130 = (uint *)0x0;\n    local_128 = 0;\n    local_118 = (uint *)0x0;\n    local_110 = (uint *)0x0;\n    local_108 = 0;\n    local_18c = 1;\n    uVar10 = 0;\n    if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }\n    uVar43 = *(uint *)(local_1f0 + 0x44);\n    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);\n    local_188 = puVar37;\n    if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }\n    uVar2 = local_18c;\n    local_270 = &local_d8;\n    uVar22 = gettext("bad section name offset for section %u: %lu");\n    FUN_001bd150(param_1,uVar22,uVar2,uVar32);\n    if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }\n    FUN_001d5cd0(local_270);\n  }" ({ "{") (if_statement "if (uVar43 != 0) {\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }" (if "if") (parenthesized_expression "(uVar43 != 0)" (( "(") (binary_expression "uVar43 != 0" (identifier "uVar43") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }\n      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);\n      puVar24 = *(undefined8 **)(lVar28 + 0x40);\n      local_188 = param_1;\n      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }\n      lVar28 = *(long *)(param_1 + 0x7a);\n      uVar32 = (ulong)uVar43;\n      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }\n      *(undefined1 *)((long)param_1 + 0x1e1) = 1;\n    }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);" (assignment_expression "lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x9058")) () ")"))))) (; ";")) (expression_statement "puVar24 = *(undefined8 **)(lVar28 + 0x40);" (assignment_expression "puVar24 = *(undefined8 **)(lVar28 + 0x40)" (identifier "puVar24") (= "=") (pointer_expression "*(undefined8 **)(lVar28 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar28 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar28 + 0x40)" (( "(") (binary_expression "lVar28 + 0x40" (identifier "lVar28") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "local_188 = param_1;" (assignment_expression "local_188 = param_1" (identifier "local_188") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }\n      else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" (if "if") (parenthesized_expression "(puVar24 == *(undefined8 **)(lVar28 + 0x48))" (( "(") (binary_expression "puVar24 == *(undefined8 **)(lVar28 + 0x48)" (identifier "puVar24") (== "==") (pointer_expression "*(undefined8 **)(lVar28 + 0x48)" (* "*") (cast_expression "(undefined8 **)(lVar28 + 0x48)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar28 + 0x48)" (( "(") (binary_expression "lVar28 + 0x48" (identifier "lVar28") (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (compound_statement "{\n        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);\n      }" ({ "{") (expression_statement "FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);" (call_expression "FUN_001c5890(lVar28 + 0x38,puVar24,&local_188)" (identifier "FUN_001c5890") (argument_list "(lVar28 + 0x38,puVar24,&local_188)" (( "(") (binary_expression "lVar28 + 0x38" (identifier "lVar28") (+ "+") (number_literal "0x38")) (, ",") (identifier "puVar24") (, ",") (pointer_expression "&local_188" (& "&") (identifier "local_188")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" (else "else") (compound_statement "{\n        *puVar24 = param_1;\n        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;\n      }" ({ "{") (expression_statement "*puVar24 = param_1;" (assignment_expression "*puVar24 = param_1" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;" (assignment_expression "*(undefined8 **)(lVar28 + 0x40) = puVar24 + 1" (pointer_expression "*(undefined8 **)(lVar28 + 0x40)" (* "*") (cast_expression "(undefined8 **)(lVar28 + 0x40)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar28 + 0x40)" (( "(") (binary_expression "lVar28 + 0x40" (identifier "lVar28") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "lVar28 = *(long *)(param_1 + 0x7a);" (assignment_expression "lVar28 = *(long *)(param_1 + 0x7a)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(param_1 + 0x7a)" (* "*") (cast_expression "(long *)(param_1 + 0x7a)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7a)" (( "(") (binary_expression "param_1 + 0x7a" (identifier "param_1") (+ "+") (number_literal "0x7a")) () ")"))))) (; ";")) (expression_statement "uVar32 = (ulong)uVar43;" (assignment_expression "uVar32 = (ulong)uVar43" (identifier "uVar32") (= "=") (cast_expression "(ulong)uVar43" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar43"))) (; ";")) (if_statement "if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }" (if "if") (parenthesized_expression "((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32)" (( "(") (binary_expression "(ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32" (call_expression "(ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7)" (( "(") (binary_expression "(*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7" (parenthesized_expression "(*(long *)(param_1 + 0x7e) - lVar28 >> 4)" (( "(") (binary_expression "*(long *)(param_1 + 0x7e) - lVar28 >> 4" (binary_expression "*(long *)(param_1 + 0x7e) - lVar28" (pointer_expression "*(long *)(param_1 + 0x7e)" (* "*") (cast_expression "(long *)(param_1 + 0x7e)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7e)" (( "(") (binary_expression "param_1 + 0x7e" (identifier "param_1") (+ "+") (number_literal "0x7e")) () ")")))) (- "-") (identifier "lVar28")) (>> ">>") (number_literal "4")) () ")")) (* "*") (number_literal "0x6db6db6db6db6db7")) () ")"))) (< "<") (identifier "uVar32")) () ")")) (compound_statement "{\n        lVar20 = *(long *)(param_1 + 0x7c);\n                    \n        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);\n        if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }\n        plVar25 = *(long **)(param_1 + 0x7c);\n        plVar41 = *(long **)(param_1 + 0x7a);\n        if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }\n        if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }\n        *(undefined8 **)(param_1 + 0x7a) = puVar24;\n        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;\n        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;\n      }" ({ "{") (expression_statement "lVar20 = *(long *)(param_1 + 0x7c);" (assignment_expression "lVar20 = *(long *)(param_1 + 0x7c)" (identifier "lVar20") (= "=") (pointer_expression "*(long *)(param_1 + 0x7c)" (* "*") (cast_expression "(long *)(param_1 + 0x7c)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(uVar32 * 0x70)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(uVar32 * 0x70)" (identifier "FUN_002d9490") (argument_list "(uVar32 * 0x70)" (( "(") (binary_expression "uVar32 * 0x70" (identifier "uVar32") (* "*") (number_literal "0x70")) () ")"))))) (; ";")) (if_statement "if (lVar28 != lVar20) {\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }" (if "if") (parenthesized_expression "(lVar28 != lVar20)" (( "(") (binary_expression "lVar28 != lVar20" (identifier "lVar28") (!= "!=") (identifier "lVar20")) () ")")) (compound_statement "{\n          puVar23 = (undefined8 *)(lVar28 + 0x10);\n          puVar34 = puVar24;\n          do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);\n        }" ({ "{") (expression_statement "puVar23 = (undefined8 *)(lVar28 + 0x10);" (assignment_expression "puVar23 = (undefined8 *)(lVar28 + 0x10)" (identifier "puVar23") (= "=") (cast_expression "(undefined8 *)(lVar28 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x10)" (( "(") (binary_expression "lVar28 + 0x10" (identifier "lVar28") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "puVar34 = puVar24;" (assignment_expression "puVar34 = puVar24" (identifier "puVar34") (= "=") (identifier "puVar24")) (; ";")) (do_statement "do {\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          } while (puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe);" (do "do") (compound_statement "{\n            *puVar34 = puVar34 + 2;\n            if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }\n            puVar33 = puVar34 + 0xe;\n            puVar34[1] = puVar23[-1];\n            puVar23[-2] = puVar23;\n            puVar23[-1] = 0;\n            *(undefined1 *)puVar23 = 0;\n            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);\n            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);\n            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);\n            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);\n            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);\n            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);\n            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);\n            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);\n            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;\n            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);\n            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);\n            *(undefined8 *)((long)puVar34 + 100) = uVar22;\n            puVar23 = puVar23 + 0xe;\n            puVar34 = puVar33;\n          }" ({ "{") (expression_statement "*puVar34 = puVar34 + 2;" (assignment_expression "*puVar34 = puVar34 + 2" (pointer_expression "*puVar34" (* "*") (identifier "puVar34")) (= "=") (binary_expression "puVar34 + 2" (identifier "puVar34") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((undefined8 *)puVar23[-2] == puVar23) {\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }\n            else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" (if "if") (parenthesized_expression "((undefined8 *)puVar23[-2] == puVar23)" (( "(") (binary_expression "(undefined8 *)puVar23[-2] == puVar23" (cast_expression "(undefined8 *)puVar23[-2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar23[-2]" (identifier "puVar23") ([ "[") (number_literal "-2") (] "]"))) (== "==") (identifier "puVar23")) () ")")) (compound_statement "{\n              uVar22 = puVar23[1];\n              puVar34[2] = *puVar23;\n              puVar34[3] = uVar22;\n            }" ({ "{") (expression_statement "uVar22 = puVar23[1];" (assignment_expression "uVar22 = puVar23[1]" (identifier "uVar22") (= "=") (subscript_expression "puVar23[1]" (identifier "puVar23") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar34[2] = *puVar23;" (assignment_expression "puVar34[2] = *puVar23" (subscript_expression "puVar34[2]" (identifier "puVar34") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (expression_statement "puVar34[3] = uVar22;" (assignment_expression "puVar34[3] = uVar22" (subscript_expression "puVar34[3]" (identifier "puVar34") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar22")) (; ";")) (} "}")) (else_clause "else {\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" (else "else") (compound_statement "{\n              *puVar34 = (undefined8 *)puVar23[-2];\n              puVar34[2] = *puVar23;\n            }" ({ "{") (expression_statement "*puVar34 = (undefined8 *)puVar23[-2];" (assignment_expression "*puVar34 = (undefined8 *)puVar23[-2]" (pointer_expression "*puVar34" (* "*") (identifier "puVar34")) (= "=") (cast_expression "(undefined8 *)puVar23[-2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar23[-2]" (identifier "puVar23") ([ "[") (number_literal "-2") (] "]")))) (; ";")) (expression_statement "puVar34[2] = *puVar23;" (assignment_expression "puVar34[2] = *puVar23" (subscript_expression "puVar34[2]" (identifier "puVar34") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*puVar23" (* "*") (identifier "puVar23"))) (; ";")) (} "}")))) (expression_statement "puVar33 = puVar34 + 0xe;" (assignment_expression "puVar33 = puVar34 + 0xe" (identifier "puVar33") (= "=") (binary_expression "puVar34 + 0xe" (identifier "puVar34") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "puVar34[1] = puVar23[-1];" (assignment_expression "puVar34[1] = puVar23[-1]" (subscript_expression "puVar34[1]" (identifier "puVar34") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar23[-1]" (identifier "puVar23") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar23[-2] = puVar23;" (assignment_expression "puVar23[-2] = puVar23" (subscript_expression "puVar23[-2]" (identifier "puVar23") ([ "[") (number_literal "-2") (] "]")) (= "=") (identifier "puVar23")) (; ";")) (expression_statement "puVar23[-1] = 0;" (assignment_expression "puVar23[-1] = 0" (subscript_expression "puVar23[-1]" (identifier "puVar23") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)puVar23 = 0;" (assignment_expression "*(undefined1 *)puVar23 = 0" (pointer_expression "*(undefined1 *)puVar23" (* "*") (cast_expression "(undefined1 *)puVar23" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar23"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);" (assignment_expression "*(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2)" (pointer_expression "*(undefined4 *)(puVar34 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar34 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar34 + 4)" (( "(") (binary_expression "puVar34 + 4" (identifier "puVar34") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar23 + 2)" (* "*") (cast_expression "(undefined4 *)(puVar23 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + 2)" (( "(") (binary_expression "puVar23 + 2" (identifier "puVar23") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);" (assignment_expression "*(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14)" (pointer_expression "*(undefined4 *)((long)puVar34 + 0x24)" (* "*") (cast_expression "(undefined4 *)((long)puVar34 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x24)" (( "(") (binary_expression "(long)puVar34 + 0x24" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((long)puVar23 + 0x14)" (* "*") (cast_expression "(undefined4 *)((long)puVar23 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x14)" (( "(") (binary_expression "(long)puVar23 + 0x14" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);" (assignment_expression "*(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3)" (pointer_expression "*(undefined4 *)(puVar34 + 5)" (* "*") (cast_expression "(undefined4 *)(puVar34 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar34 + 5)" (( "(") (binary_expression "puVar34 + 5" (identifier "puVar34") (+ "+") (number_literal "5")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar23 + 3)" (* "*") (cast_expression "(undefined4 *)(puVar23 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + 3)" (( "(") (binary_expression "puVar23 + 3" (identifier "puVar23") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x24);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x24)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x24)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x24)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x24)" (( "(") (binary_expression "(long)puVar23 + 0x24" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x2c)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x2c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x2c)" (( "(") (binary_expression "(long)puVar34 + 0x2c" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x1c)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x1c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x1c)" (( "(") (binary_expression "(long)puVar23 + 0x1c" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x34) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x34) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x34)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x34)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x34)" (( "(") (binary_expression "(long)puVar34 + 0x34" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x34);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x34)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x34)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x34)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x34)" (( "(") (binary_expression "(long)puVar23 + 0x34" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x3c)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x3c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x3c)" (( "(") (binary_expression "(long)puVar34 + 0x3c" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x2c)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x2c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x2c)" (( "(") (binary_expression "(long)puVar23 + 0x2c" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x44) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x44) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x44)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x44)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x44)" (( "(") (binary_expression "(long)puVar34 + 0x44" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x44")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x44);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x44)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x44)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x44)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x44)" (( "(") (binary_expression "(long)puVar23 + 0x44" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x4c)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x4c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x4c)" (( "(") (binary_expression "(long)puVar34 + 0x4c" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x3c)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x3c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x3c)" (( "(") (binary_expression "(long)puVar23 + 0x3c" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x54) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x54) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x54)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x54)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x54)" (( "(") (binary_expression "(long)puVar34 + 0x54" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x54")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "uVar22 = *(undefined8 *)((long)puVar23 + 0x54);" (assignment_expression "uVar22 = *(undefined8 *)((long)puVar23 + 0x54)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x54)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x54)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x54)" (( "(") (binary_expression "(long)puVar23 + 0x54" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);" (assignment_expression "*(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c)" (pointer_expression "*(undefined8 *)((long)puVar34 + 0x5c)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 0x5c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 0x5c)" (( "(") (binary_expression "(long)puVar34 + 0x5c" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)((long)puVar23 + 0x4c)" (* "*") (cast_expression "(undefined8 *)((long)puVar23 + 0x4c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + 0x4c)" (( "(") (binary_expression "(long)puVar23 + 0x4c" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)puVar34 + 100) = uVar22;" (assignment_expression "*(undefined8 *)((long)puVar34 + 100) = uVar22" (pointer_expression "*(undefined8 *)((long)puVar34 + 100)" (* "*") (cast_expression "(undefined8 *)((long)puVar34 + 100)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar34 + 100)" (( "(") (binary_expression "(long)puVar34 + 100" (cast_expression "(long)puVar34" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar34")) (+ "+") (number_literal "100")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "puVar23 = puVar23 + 0xe;" (assignment_expression "puVar23 = puVar23 + 0xe" (identifier "puVar23") (= "=") (binary_expression "puVar23 + 0xe" (identifier "puVar23") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" (identifier "puVar34") (= "=") (identifier "puVar33")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe)" (( "(") (binary_expression "puVar33 !=\n                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" (identifier "puVar33") (!= "!=") (binary_expression "puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" (identifier "puVar24") (+ "+") (binary_expression "((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1) * 0xe" (parenthesized_expression "((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1)" (( "(") (binary_expression "(((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff) + 1" (parenthesized_expression "(((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff)" (( "(") (binary_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &\n                              0xfffffffffffffff" (binary_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7" (parenthesized_expression "((ulong)((lVar20 + -0x70) - lVar28) >> 4)" (( "(") (binary_expression "(ulong)((lVar20 + -0x70) - lVar28) >> 4" (call_expression "(ulong)((lVar20 + -0x70) - lVar28)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((lVar20 + -0x70) - lVar28)" (( "(") (binary_expression "(lVar20 + -0x70) - lVar28" (parenthesized_expression "(lVar20 + -0x70)" (( "(") (binary_expression "lVar20 + -0x70" (identifier "lVar20") (+ "+") (number_literal "-0x70")) () ")")) (- "-") (identifier "lVar28")) () ")"))) (>> ">>") (number_literal "4")) () ")")) (* "*") (number_literal "0xdb6db6db6db6db7")) (& "&") (number_literal "0xfffffffffffffff")) () ")")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0xe")))) () ")")) (; ";")) (} "}"))) (expression_statement "plVar25 = *(long **)(param_1 + 0x7c);" (assignment_expression "plVar25 = *(long **)(param_1 + 0x7c)" (identifier "plVar25") (= "=") (pointer_expression "*(long **)(param_1 + 0x7c)" (* "*") (cast_expression "(long **)(param_1 + 0x7c)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "plVar41 = *(long **)(param_1 + 0x7a);" (assignment_expression "plVar41 = *(long **)(param_1 + 0x7a)" (identifier "plVar41") (= "=") (pointer_expression "*(long **)(param_1 + 0x7a)" (* "*") (cast_expression "(long **)(param_1 + 0x7a)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x7a)" (( "(") (binary_expression "param_1 + 0x7a" (identifier "param_1") (+ "+") (number_literal "0x7a")) () ")"))))) (; ";")) (if_statement "if (plVar25 != plVar41) {\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }" (if "if") (parenthesized_expression "(plVar25 != plVar41)" (( "(") (binary_expression "plVar25 != plVar41" (identifier "plVar25") (!= "!=") (identifier "plVar41")) () ")")) (compound_statement "{\n          do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);\n          plVar41 = *(long **)(param_1 + 0x7a);\n        }" ({ "{") (do_statement "do {\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          } while (plVar25 != plVar41);" (do "do") (compound_statement "{\n            if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }\n            plVar41 = plVar41 + 0xe;\n          }" ({ "{") (if_statement "if ((long *)*plVar41 != plVar41 + 2) {\n              FUN_002dac60();\n            }" (if "if") (parenthesized_expression "((long *)*plVar41 != plVar41 + 2)" (( "(") (binary_expression "(long *)*plVar41 != plVar41 + 2" (cast_expression "(long *)*plVar41" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar41" (* "*") (identifier "plVar41"))) (!= "!=") (binary_expression "plVar41 + 2" (identifier "plVar41") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n              FUN_002dac60();\n            }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "plVar41 = plVar41 + 0xe;" (assignment_expression "plVar41 = plVar41 + 0xe" (identifier "plVar41") (= "=") (binary_expression "plVar41 + 0xe" (identifier "plVar41") (+ "+") (number_literal "0xe"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar25 != plVar41)" (( "(") (binary_expression "plVar25 != plVar41" (identifier "plVar25") (!= "!=") (identifier "plVar41")) () ")")) (; ";")) (expression_statement "plVar41 = *(long **)(param_1 + 0x7a);" (assignment_expression "plVar41 = *(long **)(param_1 + 0x7a)" (identifier "plVar41") (= "=") (pointer_expression "*(long **)(param_1 + 0x7a)" (* "*") (cast_expression "(long **)(param_1 + 0x7a)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x7a)" (( "(") (binary_expression "param_1 + 0x7a" (identifier "param_1") (+ "+") (number_literal "0x7a")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (plVar41 != (long *)0x0) {\n          FUN_002dac60(plVar41);\n        }" (if "if") (parenthesized_expression "(plVar41 != (long *)0x0)" (( "(") (binary_expression "plVar41 != (long *)0x0" (identifier "plVar41") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          FUN_002dac60(plVar41);\n        }" ({ "{") (expression_statement "FUN_002dac60(plVar41);" (call_expression "FUN_002dac60(plVar41)" (identifier "FUN_002dac60") (argument_list "(plVar41)" (( "(") (identifier "plVar41") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 **)(param_1 + 0x7a) = puVar24;" (assignment_expression "*(undefined8 **)(param_1 + 0x7a) = puVar24" (pointer_expression "*(undefined8 **)(param_1 + 0x7a)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x7a)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x7a)" (( "(") (binary_expression "param_1 + 0x7a" (identifier "param_1") (+ "+") (number_literal "0x7a")) () ")")))) (= "=") (identifier "puVar24")) (; ";")) (expression_statement "*(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;" (assignment_expression "*(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24" (pointer_expression "*(long *)(param_1 + 0x7c)" (* "*") (cast_expression "(long *)(param_1 + 0x7c)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (binary_expression "(lVar20 - lVar28) + (long)puVar24" (parenthesized_expression "(lVar20 - lVar28)" (( "(") (binary_expression "lVar20 - lVar28" (identifier "lVar20") (- "-") (identifier "lVar28")) () ")")) (+ "+") (cast_expression "(long)puVar24" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar24")))) (; ";")) (expression_statement "*(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;" (assignment_expression "*(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe" (pointer_expression "*(undefined8 **)(param_1 + 0x7e)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x7e)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x7e)" (( "(") (binary_expression "param_1 + 0x7e" (identifier "param_1") (+ "+") (number_literal "0x7e")) () ")")))) (= "=") (binary_expression "puVar24 + uVar32 * 0xe" (identifier "puVar24") (+ "+") (binary_expression "uVar32 * 0xe" (identifier "uVar32") (* "*") (number_literal "0xe")))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((long)param_1 + 0x1e1) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x1e1) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x1e1)" (* "*") (cast_expression "(undefined1 *)((long)param_1 + 0x1e1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1e1)" (( "(") (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1e1")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "local_d8 = (void *)0x0;" (assignment_expression "local_d8 = (void *)0x0" (identifier "local_d8") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = (uint *)0x0;" (assignment_expression "local_c8 = (uint *)0x0" (identifier "local_c8") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "sVar35 = (uVar31 + 0x40 >> 6) * 8;" (assignment_expression "sVar35 = (uVar31 + 0x40 >> 6) * 8" (identifier "sVar35") (= "=") (binary_expression "(uVar31 + 0x40 >> 6) * 8" (parenthesized_expression "(uVar31 + 0x40 >> 6)" (( "(") (binary_expression "uVar31 + 0x40 >> 6" (binary_expression "uVar31 + 0x40" (identifier "uVar31") (+ "+") (number_literal "0x40")) (>> ">>") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = (void *)0x0;" (assignment_expression "local_b8 = (void *)0x0" (identifier "local_b8") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_d8 = (void *)FUN_002d9490(sVar35);" (assignment_expression "local_d8 = (void *)FUN_002d9490(sVar35)" (identifier "local_d8") (= "=") (cast_expression "(void *)FUN_002d9490(sVar35)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(sVar35)" (identifier "FUN_002d9490") (argument_list "(sVar35)" (( "(") (identifier "sVar35") () ")"))))) (; ";")) (expression_statement "local_b8 = (void *)((long)local_d8 + sVar35);" (assignment_expression "local_b8 = (void *)((long)local_d8 + sVar35)" (identifier "local_b8") (= "=") (cast_expression "(void *)((long)local_d8 + sVar35)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d8 + sVar35)" (( "(") (binary_expression "(long)local_d8 + sVar35" (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8")) (+ "+") (identifier "sVar35")) () ")")))) (; ";")) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);" (assignment_expression "local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8)" (identifier "local_c8") (= "=") (cast_expression "(uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d8 + ((long)uVar44 >> 6) * 8)" (( "(") (binary_expression "(long)local_d8 + ((long)uVar44 >> 6) * 8" (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8")) (+ "+") (binary_expression "((long)uVar44 >> 6) * 8" (parenthesized_expression "((long)uVar44 >> 6)" (( "(") (binary_expression "(long)uVar44 >> 6" (cast_expression "(long)uVar44" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "uVar44")) (>> ">>") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "local_c0 = uVar2 & 0x3f;" (assignment_expression "local_c0 = uVar2 & 0x3f" (identifier "local_c0") (= "=") (binary_expression "uVar2 & 0x3f" (identifier "uVar2") (& "&") (number_literal "0x3f"))) (; ";")) (expression_statement "local_a8 = local_c8;" (assignment_expression "local_a8 = local_c8" (identifier "local_a8") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_a0 = local_c0;" (assignment_expression "local_a0 = local_c0" (identifier "local_a0") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "memset(local_d8,0,sVar35);" (call_expression "memset(local_d8,0,sVar35)" (identifier "memset") (argument_list "(local_d8,0,sVar35)" (( "(") (identifier "local_d8") (, ",") (number_literal "0") (, ",") (identifier "sVar35") () ")"))) (; ";")) (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar28 == 0) {\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "cVar14 = *(char *)(lVar28 + 0x5051);" (assignment_expression "cVar14 = *(char *)(lVar28 + 0x5051)" (identifier "cVar14") (= "=") (pointer_expression "*(char *)(lVar28 + 0x5051)" (* "*") (cast_expression "(char *)(lVar28 + 0x5051)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x5051)" (( "(") (binary_expression "lVar28 + 0x5051" (identifier "lVar28") (+ "+") (number_literal "0x5051")) () ")"))))) (; ";")) (expression_statement "cVar1 = cVar14;" (assignment_expression "cVar1 = cVar14" (identifier "cVar1") (= "=") (identifier "cVar14")) (; ";")) (if_statement "if (cVar14 == '\0') {\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }" (if "if") (parenthesized_expression "(cVar14 == '\0')" (( "(") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      cVar1 = *(char *)(lVar28 + 0x4ec1);\n    }" ({ "{") (expression_statement "cVar1 = *(char *)(lVar28 + 0x4ec1);" (assignment_expression "cVar1 = *(char *)(lVar28 + 0x4ec1)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(lVar28 + 0x4ec1)" (* "*") (cast_expression "(char *)(lVar28 + 0x4ec1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x4ec1)" (( "(") (binary_expression "lVar28 + 0x4ec1" (identifier "lVar28") (+ "+") (number_literal "0x4ec1")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_178 = (uint *)0x0;" (assignment_expression "local_178 = (uint *)0x0" (identifier "local_178") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_170 = (uint *)0x0;" (assignment_expression "local_170 = (uint *)0x0" (identifier "local_170") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_168 = (uint *)0x0;" (assignment_expression "local_168 = (uint *)0x0" (identifier "local_168") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_158 = (uint *)0x0;" (assignment_expression "local_158 = (uint *)0x0" (identifier "local_158") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_150 = (uint *)0x0;" (assignment_expression "local_150 = (uint *)0x0" (identifier "local_150") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" (identifier "local_148") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_138 = (uint *)0x0;" (assignment_expression "local_138 = (uint *)0x0" (identifier "local_138") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_130 = (uint *)0x0;" (assignment_expression "local_130 = (uint *)0x0" (identifier "local_130") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_128 = 0;" (assignment_expression "local_128 = 0" (identifier "local_128") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_118 = (uint *)0x0;" (assignment_expression "local_118 = (uint *)0x0" (identifier "local_118") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_110 = (uint *)0x0;" (assignment_expression "local_110 = (uint *)0x0" (identifier "local_110") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" (identifier "local_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_18c = 1;" (assignment_expression "local_18c = 1" (identifier "local_18c") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar2 < 2) {\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }" (if "if") (parenthesized_expression "(uVar2 < 2)" (( "(") (binary_expression "uVar2 < 2" (identifier "uVar2") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      local_238 = 0;\nLAB_001da530:\n      local_270 = &local_d8;\n      if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }\n      if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }\n      if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }\n      if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }\n      if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }\n      if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }\n      if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }\n      FUN_001d5cd0(local_270);\n      FUN_002dac60(lVar18);\n      FUN_002dac60(lVar17);\n      return;\n    }" ({ "{") (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" (identifier "local_238") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_001da530:\n      local_270 = &local_d8;" (statement_identifier "LAB_001da530") (: ":") (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" (identifier "local_270") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";"))) (if_statement "if (!bVar8) {\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }" (if "if") (parenthesized_expression "(!bVar8)" (( "(") (unary_expression "!bVar8" (! "!") (identifier "bVar8")) () ")")) (compound_statement "{\n                    \n        FUN_001a5430(param_3,param_1);\n        FUN_001a5350(param_3,uVar10,local_238,param_1);\n      }" ({ "{") (expression_statement "FUN_001a5430(param_3,param_1);" (call_expression "FUN_001a5430(param_3,param_1)" (identifier "FUN_001a5430") (argument_list "(param_3,param_1)" (( "(") (identifier "param_3") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_001a5350(param_3,uVar10,local_238,param_1);" (call_expression "FUN_001a5350(param_3,uVar10,local_238,param_1)" (identifier "FUN_001a5350") (argument_list "(param_3,uVar10,local_238,param_1)" (( "(") (identifier "param_3") (, ",") (identifier "uVar10") (, ",") (identifier "local_238") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (bVar9) {\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }\n      else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n        if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }\n      }" ({ "{") (if_statement "if (local_158 != local_150) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }" (if "if") (parenthesized_expression "(local_158 != local_150)" (( "(") (binary_expression "local_158 != local_150" (identifier "local_158") (!= "!=") (identifier "local_150")) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x751,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x751,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x751,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x751") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" (else "else") (if_statement "if (local_158 != local_150) {\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" (if "if") (parenthesized_expression "(local_158 != local_150)" (( "(") (binary_expression "local_158 != local_150" (identifier "local_158") (!= "!=") (identifier "local_150")) () ")")) (compound_statement "{\n        puVar37 = local_158;\n        do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);\n      }" ({ "{") (expression_statement "puVar37 = local_158;" (assignment_expression "puVar37 = local_158" (identifier "puVar37") (= "=") (identifier "local_158")) (; ";")) (do_statement "do {\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        } while (local_150 != puVar37);" (do "do") (compound_statement "{\n          uVar3 = *puVar37;\n          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));\n          puVar37 = puVar37 + 1;\n        }" ({ "{") (expression_statement "uVar3 = *puVar37;" (assignment_expression "uVar3 = *puVar37" (identifier "uVar3") (= "=") (pointer_expression "*puVar37" (* "*") (identifier "puVar37"))) (; ";")) (expression_statement "local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);" (assignment_expression "local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0)" (identifier "local_a8") (= "=") (cast_expression "(uint *)((ulong)(uVar3 << 6) + local_1f0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uVar3 << 6) + local_1f0)" (( "(") (binary_expression "(ulong)(uVar3 << 6) + local_1f0" (call_expression "(ulong)(uVar3 << 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 << 6)" (( "(") (binary_expression "uVar3 << 6" (identifier "uVar3") (<< "<<") (number_literal "6")) () ")"))) (+ "+") (identifier "local_1f0")) () ")")))) (; ";")) (expression_statement "FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));" (call_expression "FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4))" (identifier "FUN_001c3ea0") (argument_list "(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,\n                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),\n                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4))" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "local_1f8") (, ",") (identifier "local_200") (, ",") (identifier "local_220") (, ",") (identifier "local_228") (, ",") (identifier "uVar3") (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (pointer_expression "*(undefined4 *)(lVar17 + (ulong)uVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar17 + (ulong)uVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + (ulong)uVar3 * 4)" (( "(") (binary_expression "lVar17 + (ulong)uVar3 * 4" (identifier "lVar17") (+ "+") (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) (* "*") (number_literal "4"))) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(lVar18 + (ulong)uVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + (ulong)uVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + (ulong)uVar3 * 4)" (( "(") (binary_expression "lVar18 + (ulong)uVar3 * 4" (identifier "lVar18") (+ "+") (binary_expression "(ulong)uVar3 * 4" (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3")) (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" (identifier "puVar37") (= "=") (binary_expression "puVar37 + 1" (identifier "puVar37") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_150 != puVar37)" (( "(") (binary_expression "local_150 != puVar37" (identifier "local_150") (!= "!=") (identifier "puVar37")) () ")")) (; ";")) (} "}"))))) (if_statement "if (cVar1 != '\0') {\n                    \n        FUN_001bfe80(param_1);\n      }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_001bfe80(param_1);\n      }" ({ "{") (expression_statement "FUN_001bfe80(param_1);" (call_expression "FUN_001bfe80(param_1)" (identifier "FUN_001bfe80") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (bVar7) {\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }\n      else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" (if "if") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n        if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }\n      }" ({ "{") (if_statement "if (local_178 != local_170) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }" (if "if") (parenthesized_expression "(local_178 != local_170)" (( "(") (binary_expression "local_178 != local_170" (identifier "local_178") (!= "!=") (identifier "local_170")) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x76c,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x76c,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x76c") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" (else "else") (if_statement "if (local_178 != local_170) {\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" (if "if") (parenthesized_expression "(local_178 != local_170)" (( "(") (binary_expression "local_178 != local_170" (identifier "local_178") (!= "!=") (identifier "local_170")) () ")")) (compound_statement "{\n        local_1a0 = local_178;\n        do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);\n      }" ({ "{") (expression_statement "local_1a0 = local_178;" (assignment_expression "local_1a0 = local_178" (identifier "local_1a0") (= "=") (identifier "local_178")) (; ";")) (do_statement "do {\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        } while (local_170 != local_1a0);" (do "do") (compound_statement "{\n          uVar3 = *local_1a0;\n          uVar32 = (ulong)uVar3;\n          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);\n          uVar43 = puVar37[0xb];\n          local_f8 = puVar37;\n          if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }\n          if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }\n          local_1a0 = local_1a0 + 1;\n        }" ({ "{") (expression_statement "uVar3 = *local_1a0;" (assignment_expression "uVar3 = *local_1a0" (identifier "uVar3") (= "=") (pointer_expression "*local_1a0" (* "*") (identifier "local_1a0"))) (; ";")) (expression_statement "uVar32 = (ulong)uVar3;" (assignment_expression "uVar32 = (ulong)uVar3" (identifier "uVar32") (= "=") (cast_expression "(ulong)uVar3" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar3"))) (; ";")) (expression_statement "puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);" (assignment_expression "puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0)" (identifier "puVar37") (= "=") (cast_expression "(uint *)((ulong)(uVar3 << 6) + local_1f0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uVar3 << 6) + local_1f0)" (( "(") (binary_expression "(ulong)(uVar3 << 6) + local_1f0" (call_expression "(ulong)(uVar3 << 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 << 6)" (( "(") (binary_expression "uVar3 << 6" (identifier "uVar3") (<< "<<") (number_literal "6")) () ")"))) (+ "+") (identifier "local_1f0")) () ")")))) (; ";")) (expression_statement "uVar43 = puVar37[0xb];" (assignment_expression "uVar43 = puVar37[0xb]" (identifier "uVar43") (= "=") (subscript_expression "puVar37[0xb]" (identifier "puVar37") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "local_f8 = puVar37;" (assignment_expression "local_f8 = puVar37" (identifier "local_f8") (= "=") (identifier "puVar37")) (; ";")) (if_statement "if (0xfeff < uVar43) {\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }" (if "if") (parenthesized_expression "(0xfeff < uVar43)" (( "(") (binary_expression "0xfeff < uVar43" (number_literal "0xfeff") (< "<") (identifier "uVar43")) () ")")) (compound_statement "{\n            FUN_001682d0(param_1 + 0x3e);\n            uVar43 = uVar43 + param_1[0x44];\n          }" ({ "{") (expression_statement "FUN_001682d0(param_1 + 0x3e);" (call_expression "FUN_001682d0(param_1 + 0x3e)" (identifier "FUN_001682d0") (argument_list "(param_1 + 0x3e)" (( "(") (binary_expression "param_1 + 0x3e" (identifier "param_1") (+ "+") (number_literal "0x3e")) () ")"))) (; ";")) (expression_statement "uVar43 = uVar43 + param_1[0x44];" (assignment_expression "uVar43 = uVar43 + param_1[0x44]" (identifier "uVar43") (= "=") (binary_expression "uVar43 + param_1[0x44]" (identifier "uVar43") (+ "+") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (} "}"))) (if_statement "if (uVar43 < uVar2) {\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }" (if "if") (parenthesized_expression "(uVar43 < uVar2)" (( "(") (binary_expression "uVar43 < uVar2" (identifier "uVar43") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);\n            if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n          }" ({ "{") (expression_statement "lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);" (assignment_expression "lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(ulong)uVar43 * 8" (cast_expression "(ulong)uVar43" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar43")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar28 == 2) {\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }\n            else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" (if "if") (parenthesized_expression "(lVar28 == 2)" (( "(") (binary_expression "lVar28 == 2" (identifier "lVar28") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }\n            }" ({ "{") (if_statement "if (!bVar8) {\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }" (if "if") (parenthesized_expression "(!bVar8)" (( "(") (unary_expression "!bVar8" (! "!") (identifier "bVar8")) () ")")) (compound_statement "{\n                uVar43 = local_f8[1];\n                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);\n                local_84 = 0;\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                local_88 = uVar3;\n                    \n                FUN_001d6880(param_1 + 0x80,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n              }" ({ "{") (expression_statement "uVar43 = local_f8[1];" (assignment_expression "uVar43 = local_f8[1]" (identifier "uVar43") (= "=") (subscript_expression "local_f8[1]" (identifier "local_f8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);" (call_expression "FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0)" (identifier "FUN_001bde30") (argument_list "(&local_a8,(ulong)*local_f8 + local_1c0)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (binary_expression "(ulong)*local_f8 + local_1c0" (binary_expression "(ulong)*local_f8" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "local_f8")) (+ "+") (identifier "local_1c0")) () ")"))) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" (identifier "uStack_74") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 2)" (( "(") (binary_expression "puVar37 + 2" (identifier "puVar37") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" (identifier "local_6c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 4)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 4)" (( "(") (binary_expression "puVar37 + 4" (identifier "puVar37") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" (identifier "uStack_64") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 6)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 6)" (( "(") (binary_expression "puVar37 + 6" (identifier "puVar37") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" (identifier "local_5c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 8)" (( "(") (binary_expression "puVar37 + 8" (identifier "puVar37") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" (identifier "uStack_54") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 10)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 10)" (( "(") (binary_expression "puVar37 + 10" (identifier "puVar37") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" (identifier "local_4c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 0xc)" (( "(") (binary_expression "puVar37 + 0xc" (identifier "puVar37") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" (identifier "uStack_44") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 0xe)" (( "(") (binary_expression "puVar37 + 0xe" (identifier "puVar37") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" (identifier "local_7c") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (* "*") (cast_expression "(undefined8 *)puVar37" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar37")))) (; ";")) (expression_statement "local_7c = CONCAT44(uVar43,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar43,(undefined4)local_7c)" (identifier "local_7c") (= "=") (call_expression "CONCAT44(uVar43,(undefined4)local_7c)" (identifier "CONCAT44") (argument_list "(uVar43,(undefined4)local_7c)" (( "(") (identifier "uVar43") (, ",") (cast_expression "(undefined4)local_7c" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "local_7c")) () ")")))) (; ";")) (expression_statement "local_88 = uVar3;" (assignment_expression "local_88 = uVar3" (identifier "local_88") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "FUN_001d6880(param_1 + 0x80,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x80,&local_a8)" (identifier "FUN_001d6880") (argument_list "(param_1 + 0x80,&local_a8)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")"))) (; ";")) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\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_002dac60();\n                }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" (else "else") (if_statement "if (lVar28 == 0) {\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }\n            else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" ({ "{") (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (} "}")) (else_clause "else {\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" (else "else") (compound_statement "{\n              puVar24 = (undefined8 *)FUN_002d9490(0x28);\n              *puVar24 = 0;\n              puVar24[1] = 0;\n              puVar24[2] = 0;\n              puVar24[3] = 0;\n              puVar24[4] = 0;\n              if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }\n              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;\n              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);\n              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n            }" ({ "{") (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(0x28);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(0x28)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x28)" (identifier "FUN_002d9490") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";")) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24[1] = 0;" (assignment_expression "puVar24[1] = 0" (subscript_expression "puVar24[1]" (identifier "puVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24[2] = 0;" (assignment_expression "puVar24[2] = 0" (subscript_expression "puVar24[2]" (identifier "puVar24") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24[3] = 0;" (assignment_expression "puVar24[3] = 0" (subscript_expression "puVar24[3]" (identifier "puVar24") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24[4] = 0;" (assignment_expression "puVar24[4] = 0" (subscript_expression "puVar24[4]" (identifier "puVar24") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1[0xe] <= uVar3) {\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" (if "if") (parenthesized_expression "(param_1[0xe] <= uVar3)" (( "(") (binary_expression "param_1[0xe] <= uVar3" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (<= "<=") (identifier "uVar3")) () ")")) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n              }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x541") (, ",") (string_literal ""set_relocatable_relocs"" (" """) (string_content "set_relocatable_relocs") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;" (assignment_expression "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24" (pointer_expression "*(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(long **)(param_1 + 0x1a) + uVar32 * 8)" (( "(") (binary_expression "**(long **)(param_1 + 0x1a) + uVar32 * 8" (pointer_expression "**(long **)(param_1 + 0x1a)" (* "*") (pointer_expression "*(long **)(param_1 + 0x1a)" (* "*") (cast_expression "(long **)(param_1 + 0x1a)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1a)" (( "(") (binary_expression "param_1 + 0x1a" (identifier "param_1") (+ "+") (number_literal "0x1a")) () ")"))))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "puVar24")) (; ";")) (expression_statement "uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);" (assignment_expression "uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28)" (identifier "uVar22") (= "=") (call_expression "FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28)" (identifier "FUN_001b2ab0") (argument_list "(param_3,param_1,uVar32,&local_f8,lVar28)" (( "(") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (identifier "uVar32") (, ",") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (identifier "lVar28") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (} "}")))))) (} "}"))) (expression_statement "local_1a0 = local_1a0 + 1;" (assignment_expression "local_1a0 = local_1a0 + 1" (identifier "local_1a0") (= "=") (binary_expression "local_1a0 + 1" (identifier "local_1a0") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_170 != local_1a0)" (( "(") (binary_expression "local_170 != local_1a0" (identifier "local_170") (!= "!=") (identifier "local_1a0")) () ")")) (; ";")) (} "}"))))) (if_statement "if (bVar9) {\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }\n      else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n        if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }\n      }" ({ "{") (if_statement "if ((local_130 != local_138) || (local_110 != local_118)) {\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }" (if "if") (parenthesized_expression "((local_130 != local_138) || (local_110 != local_118))" (( "(") (binary_expression "(local_130 != local_138) || (local_110 != local_118)" (parenthesized_expression "(local_130 != local_138)" (( "(") (binary_expression "local_130 != local_138" (identifier "local_130") (!= "!=") (identifier "local_138")) () ")")) (|| "||") (parenthesized_expression "(local_110 != local_118)" (( "(") (binary_expression "local_110 != local_118" (identifier "local_110") (!= "!=") (identifier "local_118")) () ")"))) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x7a0,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x7a0") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" (else "else") (compound_statement "{\n        puVar37 = local_138;\n        if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }\n        puVar37 = local_118;\n        if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }\n      }" ({ "{") (expression_statement "puVar37 = local_138;" (assignment_expression "puVar37 = local_138" (identifier "puVar37") (= "=") (identifier "local_138")) (; ";")) (if_statement "if (local_130 != local_138) {\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }" (if "if") (parenthesized_expression "(local_130 != local_138)" (( "(") (binary_expression "local_130 != local_138" (identifier "local_130") (!= "!=") (identifier "local_138")) () ")")) (compound_statement "{\n          do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);\n        }" ({ "{") (do_statement "do {\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_130 != puVar37);" (do "do") (compound_statement "{\n            uVar32 = (ulong)*puVar37;\n                    \n            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          }" ({ "{") (expression_statement "uVar32 = (ulong)*puVar37;" (assignment_expression "uVar32 = (ulong)*puVar37" (identifier "uVar32") (= "=") (binary_expression "(ulong)*puVar37" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "puVar37"))) (; ";")) (expression_statement "FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));" (call_expression "FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" (identifier "FUN_001b8f10") (argument_list "(param_3,0,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" (( "(") (identifier "param_3") (, ",") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "local_1f8") (, ",") (identifier "local_200") (, ",") (identifier "uVar32") (, ",") (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + uVar32 * 4)" (( "(") (binary_expression "lVar17 + uVar32 * 4" (identifier "lVar17") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + uVar32 * 4)" (( "(") (binary_expression "lVar18 + uVar32 * 4" (identifier "lVar18") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" (identifier "puVar37") (= "=") (binary_expression "puVar37 + 1" (identifier "puVar37") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_130 != puVar37)" (( "(") (binary_expression "local_130 != puVar37" (identifier "local_130") (!= "!=") (identifier "puVar37")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar37 = local_118;" (assignment_expression "puVar37 = local_118" (identifier "puVar37") (= "=") (identifier "local_118")) (; ";")) (if_statement "if (local_118 != local_110) {\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }" (if "if") (parenthesized_expression "(local_118 != local_110)" (( "(") (binary_expression "local_118 != local_110" (identifier "local_118") (!= "!=") (identifier "local_110")) () ")")) (compound_statement "{\n          do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);\n        }" ({ "{") (do_statement "do {\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          } while (local_110 != puVar37);" (do "do") (compound_statement "{\n            uVar32 = (ulong)*puVar37;\n            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));\n            puVar37 = puVar37 + 1;\n          }" ({ "{") (expression_statement "uVar32 = (ulong)*puVar37;" (assignment_expression "uVar32 = (ulong)*puVar37" (identifier "uVar32") (= "=") (binary_expression "(ulong)*puVar37" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "puVar37"))) (; ";")) (expression_statement "FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));" (call_expression "FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" (identifier "FUN_001b8f10") (argument_list "(param_3,1,param_1,local_1f8,local_200,uVar32,\n                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4))" (( "(") (identifier "param_3") (, ",") (number_literal "1") (, ",") (identifier "param_1") (, ",") (identifier "local_1f8") (, ",") (identifier "local_200") (, ",") (identifier "uVar32") (, ",") (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + uVar32 * 4)" (( "(") (binary_expression "lVar17 + uVar32 * 4" (identifier "lVar17") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + uVar32 * 4)" (( "(") (binary_expression "lVar18 + uVar32 * 4" (identifier "lVar18") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (expression_statement "puVar37 = puVar37 + 1;" (assignment_expression "puVar37 = puVar37 + 1" (identifier "puVar37") (= "=") (binary_expression "puVar37 + 1" (identifier "puVar37") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_110 != puVar37)" (( "(") (binary_expression "local_110 != puVar37" (identifier "local_110") (!= "!=") (identifier "puVar37")) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (bVar8) {\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }\n      else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n        if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }\n        if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }\n        param_1[0x22] = 0;\n        param_1[0x23] = 0;\n      }" ({ "{") (if_statement "if (*local_240 != 0) {\n          thunk_FUN_002dac60();\n        }" (if "if") (parenthesized_expression "(*local_240 != 0)" (( "(") (binary_expression "*local_240 != 0" (pointer_expression "*local_240" (* "*") (identifier "local_240")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" ({ "{") (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" (identifier "thunk_FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_240[1] != 0) {\n          thunk_FUN_002dac60();\n        }" (if "if") (parenthesized_expression "(local_240[1] != 0)" (( "(") (binary_expression "local_240[1] != 0" (subscript_expression "local_240[1]" (identifier "local_240") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" ({ "{") (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" (identifier "thunk_FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_240[3] != 0) {\n          thunk_FUN_002dac60();\n        }" (if "if") (parenthesized_expression "(local_240[3] != 0)" (( "(") (binary_expression "local_240[3] != 0" (subscript_expression "local_240[3]" (identifier "local_240") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" ({ "{") (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" (identifier "thunk_FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_240[6] != 0) {\n          thunk_FUN_002dac60();\n        }" (if "if") (parenthesized_expression "(local_240[6] != 0)" (( "(") (binary_expression "local_240[6] != 0" (subscript_expression "local_240[6]" (identifier "local_240") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          thunk_FUN_002dac60();\n        }" ({ "{") (expression_statement "thunk_FUN_002dac60();" (call_expression "thunk_FUN_002dac60()" (identifier "thunk_FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x22] = 0;" (assignment_expression "param_1[0x22] = 0" (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x23] = 0;" (assignment_expression "param_1[0x23] = 0" (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" (else "else") (compound_statement "{\n        lVar28 = *param_4;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        lVar28 = param_4[1];\n        *param_4 = 0;\n        if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }\n        param_4[1] = 0;\n      }" ({ "{") (expression_statement "lVar28 = *param_4;" (assignment_expression "lVar28 = *param_4" (identifier "lVar28") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (if_statement "if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" (if "if") (parenthesized_expression "(lVar28 != 0)" (( "(") (binary_expression "lVar28 != 0" (identifier "lVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" ({ "{") (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" (identifier "FUN_0017a780") (argument_list "(lVar28)" (( "(") (identifier "lVar28") () ")"))) (; ";")) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" (identifier "thunk_FUN_002dac60") (argument_list "(lVar28,0x18)" (( "(") (identifier "lVar28") (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar28 = param_4[1];" (assignment_expression "lVar28 = param_4[1]" (identifier "lVar28") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (lVar28 != 0) {\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" (if "if") (parenthesized_expression "(lVar28 != 0)" (( "(") (binary_expression "lVar28 != 0" (identifier "lVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0017a780(lVar28);\n          thunk_FUN_002dac60(lVar28,0x18);\n        }" ({ "{") (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" (identifier "FUN_0017a780") (argument_list "(lVar28)" (( "(") (identifier "lVar28") () ")"))) (; ";")) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" (identifier "thunk_FUN_002dac60") (argument_list "(lVar28,0x18)" (( "(") (identifier "lVar28") (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}"))) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (local_118 != (uint *)0x0) {\n        FUN_002dac60();\n      }" (if "if") (parenthesized_expression "(local_118 != (uint *)0x0)" (( "(") (binary_expression "local_118 != (uint *)0x0" (identifier "local_118") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_002dac60();\n      }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_138 != (uint *)0x0) {\n        FUN_002dac60();\n      }" (if "if") (parenthesized_expression "(local_138 != (uint *)0x0)" (( "(") (binary_expression "local_138 != (uint *)0x0" (identifier "local_138") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_002dac60();\n      }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_158 != (uint *)0x0) {\n        FUN_002dac60();\n      }" (if "if") (parenthesized_expression "(local_158 != (uint *)0x0)" (( "(") (binary_expression "local_158 != (uint *)0x0" (identifier "local_158") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_002dac60();\n      }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_178 != (uint *)0x0) {\n        FUN_002dac60();\n      }" (if "if") (parenthesized_expression "(local_178 != (uint *)0x0)" (( "(") (binary_expression "local_178 != (uint *)0x0" (identifier "local_178") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_002dac60();\n      }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001d5cd0(local_270);" (call_expression "FUN_001d5cd0(local_270)" (identifier "FUN_001d5cd0") (argument_list "(local_270)" (( "(") (identifier "local_270") () ")"))) (; ";")) (expression_statement "FUN_002dac60(lVar18);" (call_expression "FUN_002dac60(lVar18)" (identifier "FUN_002dac60") (argument_list "(lVar18)" (( "(") (identifier "lVar18") () ")"))) (; ";")) (expression_statement "FUN_002dac60(lVar17);" (call_expression "FUN_002dac60(lVar17)" (identifier "FUN_002dac60") (argument_list "(lVar17)" (( "(") (identifier "lVar17") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar43 = *(uint *)(local_1f0 + 0x44);" (assignment_expression "uVar43 = *(uint *)(local_1f0 + 0x44)" (identifier "uVar43") (= "=") (pointer_expression "*(uint *)(local_1f0 + 0x44)" (* "*") (cast_expression "(uint *)(local_1f0 + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1f0 + 0x44)" (( "(") (binary_expression "local_1f0 + 0x44" (identifier "local_1f0") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);" (assignment_expression "uVar32 = (ulong)*(uint *)(local_1f0 + 0x40)" (identifier "uVar32") (= "=") (binary_expression "(ulong)*(uint *)(local_1f0 + 0x40)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(local_1f0 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1f0 + 0x40)" (( "(") (binary_expression "local_1f0 + 0x40" (identifier "local_1f0") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "local_188 = puVar37;" (assignment_expression "local_188 = puVar37" (identifier "local_188") (= "=") (identifier "puVar37")) (; ";")) (if_statement "if (uVar32 < local_1c8) {\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }" (if "if") (parenthesized_expression "(uVar32 < local_1c8)" (( "(") (binary_expression "uVar32 < local_1c8" (identifier "uVar32") (< "<") (identifier "local_1c8")) () ")")) (compound_statement "{\n      local_238 = 0;\n      do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);\n    }" ({ "{") (expression_statement "local_238 = 0;" (assignment_expression "local_238 = 0" (identifier "local_238") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      } while (uVar32 < local_1c8);" (do "do") (compound_statement "{\n        local_270 = &local_d8;\n        __s1 = (byte *)(local_1c0 + uVar32);\n        local_188 = puVar37;\n        if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }\nLAB_001daa92:\n        local_18c = uVar42 + 1;\n        puVar36 = puVar37 + 0x10;\n        if (uVar2 <= local_18c) goto LAB_001da530;\n        uVar32 = (ulong)*puVar36;\n        uVar43 = puVar37[0x11];\n        puVar37 = puVar36;\n        local_188 = puVar36;\n      }" ({ "{") (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" (identifier "local_270") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";")) (expression_statement "__s1 = (byte *)(local_1c0 + uVar32);" (assignment_expression "__s1 = (byte *)(local_1c0 + uVar32)" (identifier "__s1") (= "=") (cast_expression "(byte *)(local_1c0 + uVar32)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1c0 + uVar32)" (( "(") (binary_expression "local_1c0 + uVar32" (identifier "local_1c0") (+ "+") (identifier "uVar32")) () ")")))) (; ";")) (expression_statement "local_188 = puVar37;" (assignment_expression "local_188 = puVar37" (identifier "local_188") (= "=") (identifier "puVar37")) (; ";")) (if_statement "if (bVar8) {\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }\n        else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\nLAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }\n          uVar42 = local_18c;\n          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }\n        }" ({ "{") (labeled_statement "LAB_001da9c0:\n          if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" (statement_identifier "LAB_001da9c0") (: ":") (if_statement "if (bVar9) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }\n          }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x2809")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              cVar15 = FUN_001bd560(param_1,__s1);\n                    \n              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }\n              sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");\n              uVar42 = local_18c;\n              if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }\n            }" ({ "{") (expression_statement "cVar15 = FUN_001bd560(param_1,__s1);" (assignment_expression "cVar15 = FUN_001bd560(param_1,__s1)" (identifier "cVar15") (= "=") (call_expression "FUN_001bd560(param_1,__s1)" (identifier "FUN_001bd560") (argument_list "(param_1,__s1)" (( "(") (identifier "param_1") (, ",") (identifier "__s1") () ")")))) (; ";")) (if_statement "if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)) {\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }" (if "if") (parenthesized_expression "(((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2))" (( "(") (binary_expression "((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  ) || (uVar43 - 0xe < 2)" (parenthesized_expression "((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')\n                  )" (( "(") (binary_expression "(cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')" (parenthesized_expression "(cVar15 != '\0')" (( "(") (binary_expression "cVar15 != '\0'" (identifier "cVar15") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')" (( "(") (comma_expression "cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0'" (assignment_expression "cVar15 = FUN_001a4e50(param_3,param_1,__s1)" (identifier "cVar15") (= "=") (call_expression "FUN_001a4e50(param_3,param_1,__s1)" (identifier "FUN_001a4e50") (argument_list "(param_3,param_1,__s1)" (( "(") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (identifier "__s1") () ")")))) (, ",") (binary_expression "cVar15 != '\0'" (identifier "cVar15") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar43 - 0xe < 2)" (( "(") (binary_expression "uVar43 - 0xe < 2" (binary_expression "uVar43 - 0xe" (identifier "uVar43") (- "-") (number_literal "0xe")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                local_a0 = local_18c;\n                local_a8 = param_1;\n                    \n                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);\n              }" ({ "{") (expression_statement "local_a0 = local_18c;" (assignment_expression "local_a0 = local_18c" (identifier "local_a0") (= "=") (identifier "local_18c")) (; ";")) (expression_statement "local_a8 = param_1;" (assignment_expression "local_a8 = param_1" (identifier "local_a8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);" (call_expression "FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8)" (identifier "FUN_001d5d20") (argument_list "(*(undefined8 *)(param_2 + 0x290),&local_a8)" (( "(") (pointer_expression "*(undefined8 *)(param_2 + 0x290)" (* "*") (cast_expression "(undefined8 *)(param_2 + 0x290)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x290)" (( "(") (binary_expression "param_2 + 0x290" (identifier "param_2") (+ "+") (number_literal "0x290")) () ")")))) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")"))) (; ";")) (} "}"))) (expression_statement "sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");" (assignment_expression "sVar35 = strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" (identifier "sVar35") (= "=") (call_expression "strspn((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" (identifier "strspn") (argument_list "((char *)__s1,\n                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_")" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (string_literal ""0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"" (" """) (string_content "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_") (" """)) () ")")))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (if_statement "if (__s1[sVar35] == 0) {\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }" (if "if") (parenthesized_expression "(__s1[sVar35] == 0)" (( "(") (binary_expression "__s1[sVar35] == 0" (subscript_expression "__s1[sVar35]" (identifier "__s1") ([ "[") (identifier "sVar35") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                lVar28 = *(long *)(param_2 + 0x290);\n                FUN_001bde30(&local_a8,__s1);\n                puVar13 = local_a8;\n                puVar36 = (uint *)(lVar28 + 0x90);\n                local_f0 = uVar42;\n                local_f8 = param_1;\n                if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }\n                uVar44 = (ulong)uVar42 ^ (ulong)param_1;\n                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);\n                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);\n                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n              }" ({ "{") (expression_statement "lVar28 = *(long *)(param_2 + 0x290);" (assignment_expression "lVar28 = *(long *)(param_2 + 0x290)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(param_2 + 0x290)" (* "*") (cast_expression "(long *)(param_2 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x290)" (( "(") (binary_expression "param_2 + 0x290" (identifier "param_2") (+ "+") (number_literal "0x290")) () ")"))))) (; ";")) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" (identifier "FUN_001bde30") (argument_list "(&local_a8,__s1)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "__s1") () ")"))) (; ";")) (expression_statement "puVar13 = local_a8;" (assignment_expression "puVar13 = local_a8" (identifier "puVar13") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "puVar36 = (uint *)(lVar28 + 0x90);" (assignment_expression "puVar36 = (uint *)(lVar28 + 0x90)" (identifier "puVar36") (= "=") (cast_expression "(uint *)(lVar28 + 0x90)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x90)" (( "(") (binary_expression "lVar28 + 0x90" (identifier "lVar28") (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (expression_statement "local_f0 = uVar42;" (assignment_expression "local_f0 = uVar42" (identifier "local_f0") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "local_f8 = param_1;" (assignment_expression "local_f8 = param_1" (identifier "local_f8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*(long *)(lVar28 + 0x98) == 0) {\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }\n                else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" (if "if") (parenthesized_expression "(*(long *)(lVar28 + 0x98) == 0)" (( "(") (binary_expression "*(long *)(lVar28 + 0x98) == 0" (pointer_expression "*(long *)(lVar28 + 0x98)" (* "*") (cast_expression "(long *)(lVar28 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x98)" (( "(") (binary_expression "lVar28 + 0x98" (identifier "lVar28") (+ "+") (number_literal "0x98")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001db58d:\n                  local_180 = &local_a8;\n                    \n                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);\n                }" ({ "{") (labeled_statement "LAB_001db58d:\n                  local_180 = &local_a8;" (statement_identifier "LAB_001db58d") (: ":") (expression_statement "local_180 = &local_a8;" (assignment_expression "local_180 = &local_a8" (identifier "local_180") (= "=") (pointer_expression "&local_a8" (& "&") (identifier "local_a8"))) (; ";"))) (expression_statement "local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d);" (assignment_expression "local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" (identifier "local_1a0") (= "=") (cast_expression "(uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" (identifier "FUN_001d5a40") (argument_list "(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,\n                                                   &local_18d)" (( "(") (binary_expression "lVar28 + 0x88" (identifier "lVar28") (+ "+") (number_literal "0x88")) (, ",") (identifier "puVar36") (, ",") (pointer_expression "&DAT_003798ac" (& "&") (identifier "DAT_003798ac")) (, ",") (pointer_expression "&local_180" (& "&") (identifier "local_180")) (, ",") (pointer_expression "&local_18d" (& "&") (identifier "local_18d")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" (else "else") (compound_statement "{\n                  uVar32 = CONCAT44(uStack_9c,local_a0);\n                  lVar20 = *(long *)(lVar28 + 0x98);\n                  local_1a0 = puVar36;\n                  do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);\nLAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;\n                  puVar36 = local_1a0;\n                  if (bVar45) goto LAB_001db58d;\n                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);\n                  uVar31 = uVar44;\n                  if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }\n                  if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }\n                }" ({ "{") (expression_statement "uVar32 = CONCAT44(uStack_9c,local_a0);" (assignment_expression "uVar32 = CONCAT44(uStack_9c,local_a0)" (identifier "uVar32") (= "=") (call_expression "CONCAT44(uStack_9c,local_a0)" (identifier "CONCAT44") (argument_list "(uStack_9c,local_a0)" (( "(") (identifier "uStack_9c") (, ",") (identifier "local_a0") () ")")))) (; ";")) (expression_statement "lVar20 = *(long *)(lVar28 + 0x98);" (assignment_expression "lVar20 = *(long *)(lVar28 + 0x98)" (identifier "lVar20") (= "=") (pointer_expression "*(long *)(lVar28 + 0x98)" (* "*") (cast_expression "(long *)(lVar28 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x98)" (( "(") (binary_expression "lVar28 + 0x98" (identifier "lVar28") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (expression_statement "local_1a0 = puVar36;" (assignment_expression "local_1a0 = puVar36" (identifier "local_1a0") (= "=") (identifier "puVar36")) (; ";")) (do_statement "do {\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  } while (*(long *)(lVar29 + 0x18) != 0);" (do "do") (compound_statement "{\n                    while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }\n                    if (-1 < iVar16) goto LAB_001db4fa;\nLAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);\n                  }" ({ "{") (while_statement "while( true ) {\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                      lVar29 = lVar20;\n                      uVar44 = *(ulong *)(lVar29 + 0x28);\n                      uVar31 = uVar32;\n                      if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }\n                      if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;\n                      lVar20 = uVar44 - uVar32;\n                      if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }\nLAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);\n                      local_1a0 = (uint *)lVar29;\n                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;\n                    }" ({ "{") (expression_statement "lVar29 = lVar20;" (assignment_expression "lVar29 = lVar20" (identifier "lVar29") (= "=") (identifier "lVar20")) (; ";")) (expression_statement "uVar44 = *(ulong *)(lVar29 + 0x28);" (assignment_expression "uVar44 = *(ulong *)(lVar29 + 0x28)" (identifier "uVar44") (= "=") (pointer_expression "*(ulong *)(lVar29 + 0x28)" (* "*") (cast_expression "(ulong *)(lVar29 + 0x28)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar29 + 0x28)" (( "(") (binary_expression "lVar29 + 0x28" (identifier "lVar29") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" (identifier "uVar31") (= "=") (identifier "uVar32")) (; ";")) (if_statement "if (uVar44 <= uVar32) {\n                        uVar31 = uVar44;\n                      }" (if "if") (parenthesized_expression "(uVar44 <= uVar32)" (( "(") (binary_expression "uVar44 <= uVar32" (identifier "uVar44") (<= "<=") (identifier "uVar32")) () ")")) (compound_statement "{\n                        uVar31 = uVar44;\n                      }" ({ "{") (expression_statement "uVar31 = uVar44;" (assignment_expression "uVar31 = uVar44" (identifier "uVar31") (= "=") (identifier "uVar44")) (; ";")) (} "}"))) (if_statement "if ((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))\n                      break;" (if "if") (parenthesized_expression "((uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))" (( "(") (binary_expression "(uVar31 != 0) &&\n                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0)" (parenthesized_expression "(uVar31 != 0)" (( "(") (binary_expression "uVar31 != 0" (identifier "uVar31") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0)" (( "(") (comma_expression "iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0" (assignment_expression "iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31)" (identifier "iVar16") (= "=") (call_expression "memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31)" (identifier "memcmp") (argument_list "(*(void **)(lVar29 + 0x20),puVar13,uVar31)" (( "(") (pointer_expression "*(void **)(lVar29 + 0x20)" (* "*") (cast_expression "(void **)(lVar29 + 0x20)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar29 + 0x20)" (( "(") (binary_expression "lVar29 + 0x20" (identifier "lVar29") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "puVar13") (, ",") (identifier "uVar31") () ")")))) (, ",") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar20 = uVar44 - uVar32;" (assignment_expression "lVar20 = uVar44 - uVar32" (identifier "lVar20") (= "=") (binary_expression "uVar44 - uVar32" (identifier "uVar44") (- "-") (identifier "uVar32"))) (; ";")) (if_statement "if (lVar20 < 0x80000000) {\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" (if "if") (parenthesized_expression "(lVar20 < 0x80000000)" (( "(") (binary_expression "lVar20 < 0x80000000" (identifier "lVar20") (< "<") (number_literal "0x80000000")) () ")")) (compound_statement "{\n                        if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }\n                        goto LAB_001db4b0;\n                      }" ({ "{") (if_statement "if (-0x80000001 < lVar20) {\n                          iVar16 = (int)lVar20;\n                          break;\n                        }" (if "if") (parenthesized_expression "(-0x80000001 < lVar20)" (( "(") (binary_expression "-0x80000001 < lVar20" (number_literal "-0x80000001") (< "<") (identifier "lVar20")) () ")")) (compound_statement "{\n                          iVar16 = (int)lVar20;\n                          break;\n                        }" ({ "{") (expression_statement "iVar16 = (int)lVar20;" (assignment_expression "iVar16 = (int)lVar20" (identifier "iVar16") (= "=") (cast_expression "(int)lVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar20"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (goto_statement "goto LAB_001db4b0;" (goto "goto") (statement_identifier "LAB_001db4b0") (; ";")) (} "}"))) (labeled_statement "LAB_001db4fa:\n                      lVar20 = *(long *)(lVar29 + 0x10);" (statement_identifier "LAB_001db4fa") (: ":") (expression_statement "lVar20 = *(long *)(lVar29 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar29 + 0x10)" (identifier "lVar20") (= "=") (pointer_expression "*(long *)(lVar29 + 0x10)" (* "*") (cast_expression "(long *)(lVar29 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar29 + 0x10)" (( "(") (binary_expression "lVar29 + 0x10" (identifier "lVar29") (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (expression_statement "local_1a0 = (uint *)lVar29;" (assignment_expression "local_1a0 = (uint *)lVar29" (identifier "local_1a0") (= "=") (cast_expression "(uint *)lVar29" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar29"))) (; ";")) (if_statement "if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;" (if "if") (parenthesized_expression "(*(long *)(lVar29 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(lVar29 + 0x10) == 0" (pointer_expression "*(long *)(lVar29 + 0x10)" (* "*") (cast_expression "(long *)(lVar29 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar29 + 0x10)" (( "(") (binary_expression "lVar29 + 0x10" (identifier "lVar29") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001db50a;" (goto "goto") (statement_identifier "LAB_001db50a") (; ";"))) (} "}"))) (if_statement "if (-1 < iVar16) goto LAB_001db4fa;" (if "if") (parenthesized_expression "(-1 < iVar16)" (( "(") (binary_expression "-1 < iVar16" (number_literal "-1") (< "<") (identifier "iVar16")) () ")")) (goto_statement "goto LAB_001db4fa;" (goto "goto") (statement_identifier "LAB_001db4fa") (; ";"))) (labeled_statement "LAB_001db4b0:\n                    lVar20 = *(long *)(lVar29 + 0x18);" (statement_identifier "LAB_001db4b0") (: ":") (expression_statement "lVar20 = *(long *)(lVar29 + 0x18);" (assignment_expression "lVar20 = *(long *)(lVar29 + 0x18)" (identifier "lVar20") (= "=") (pointer_expression "*(long *)(lVar29 + 0x18)" (* "*") (cast_expression "(long *)(lVar29 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar29 + 0x18)" (( "(") (binary_expression "lVar29 + 0x18" (identifier "lVar29") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(*(long *)(lVar29 + 0x18) != 0)" (( "(") (binary_expression "*(long *)(lVar29 + 0x18) != 0" (pointer_expression "*(long *)(lVar29 + 0x18)" (* "*") (cast_expression "(long *)(lVar29 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar29 + 0x18)" (( "(") (binary_expression "lVar29 + 0x18" (identifier "lVar29") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_001db50a:\n                  bVar45 = puVar36 == local_1a0;" (statement_identifier "LAB_001db50a") (: ":") (expression_statement "bVar45 = puVar36 == local_1a0;" (assignment_expression "bVar45 = puVar36 == local_1a0" (identifier "bVar45") (= "=") (binary_expression "puVar36 == local_1a0" (identifier "puVar36") (== "==") (identifier "local_1a0"))) (; ";"))) (expression_statement "puVar36 = local_1a0;" (assignment_expression "puVar36 = local_1a0" (identifier "puVar36") (= "=") (identifier "local_1a0")) (; ";")) (if_statement "if (bVar45) goto LAB_001db58d;" (if "if") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (goto_statement "goto LAB_001db58d;" (goto "goto") (statement_identifier "LAB_001db58d") (; ";"))) (expression_statement "uVar44 = *(ulong *)((long)local_1a0 + 0x28);" (assignment_expression "uVar44 = *(ulong *)((long)local_1a0 + 0x28)" (identifier "uVar44") (= "=") (pointer_expression "*(ulong *)((long)local_1a0 + 0x28)" (* "*") (cast_expression "(ulong *)((long)local_1a0 + 0x28)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_1a0 + 0x28)" (( "(") (binary_expression "(long)local_1a0 + 0x28" (cast_expression "(long)local_1a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1a0")) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar31 = uVar44;" (assignment_expression "uVar31 = uVar44" (identifier "uVar31") (= "=") (identifier "uVar44")) (; ";")) (if_statement "if (uVar32 <= uVar44) {\n                    uVar31 = uVar32;\n                  }" (if "if") (parenthesized_expression "(uVar32 <= uVar44)" (( "(") (binary_expression "uVar32 <= uVar44" (identifier "uVar32") (<= "<=") (identifier "uVar44")) () ")")) (compound_statement "{\n                    uVar31 = uVar32;\n                  }" ({ "{") (expression_statement "uVar31 = uVar32;" (assignment_expression "uVar31 = uVar32" (identifier "uVar31") (= "=") (identifier "uVar32")) (; ";")) (} "}"))) (if_statement "if ((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)) {\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }\n                  else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" (if "if") (parenthesized_expression "((uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0))" (( "(") (binary_expression "(uVar31 == 0) ||\n                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)" (parenthesized_expression "(uVar31 == 0)" (( "(") (binary_expression "uVar31 == 0" (identifier "uVar31") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0)" (( "(") (comma_expression "iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),\n                     iVar16 == 0" (assignment_expression "iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" (identifier "iVar16") (= "=") (call_expression "memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" (identifier "memcmp") (argument_list "(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31)" (( "(") (identifier "puVar13") (, ",") (pointer_expression "*(void **)((long)local_1a0 + 0x20)" (* "*") (cast_expression "(void **)((long)local_1a0 + 0x20)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((long)local_1a0 + 0x20)" (( "(") (binary_expression "(long)local_1a0 + 0x20" (cast_expression "(long)local_1a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1a0")) (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "uVar31") () ")")))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    lVar20 = uVar32 - uVar44;\n                    if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }\n                  }" ({ "{") (expression_statement "lVar20 = uVar32 - uVar44;" (assignment_expression "lVar20 = uVar32 - uVar44" (identifier "lVar20") (= "=") (binary_expression "uVar32 - uVar44" (identifier "uVar32") (- "-") (identifier "uVar44"))) (; ";")) (if_statement "if (lVar20 < 0x80000000) {\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }" (if "if") (parenthesized_expression "(lVar20 < 0x80000000)" (( "(") (binary_expression "lVar20 < 0x80000000" (identifier "lVar20") (< "<") (number_literal "0x80000000")) () ")")) (compound_statement "{\n                      if (lVar20 < -0x80000000) goto LAB_001db58d;\n                      iVar16 = (int)lVar20;\n                      goto LAB_001db589;\n                    }" ({ "{") (if_statement "if (lVar20 < -0x80000000) goto LAB_001db58d;" (if "if") (parenthesized_expression "(lVar20 < -0x80000000)" (( "(") (binary_expression "lVar20 < -0x80000000" (identifier "lVar20") (< "<") (number_literal "-0x80000000")) () ")")) (goto_statement "goto LAB_001db58d;" (goto "goto") (statement_identifier "LAB_001db58d") (; ";"))) (expression_statement "iVar16 = (int)lVar20;" (assignment_expression "iVar16 = (int)lVar20" (identifier "iVar16") (= "=") (cast_expression "(int)lVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar20"))) (; ";")) (goto_statement "goto LAB_001db589;" (goto "goto") (statement_identifier "LAB_001db589") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" (else "else") (compound_statement "{\nLAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;\n                  }" ({ "{") (labeled_statement "LAB_001db589:\n                    if (iVar16 < 0) goto LAB_001db58d;" (statement_identifier "LAB_001db589") (: ":") (if_statement "if (iVar16 < 0) goto LAB_001db58d;" (if "if") (parenthesized_expression "(iVar16 < 0)" (( "(") (binary_expression "iVar16 < 0" (identifier "iVar16") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_001db58d;" (goto "goto") (statement_identifier "LAB_001db58d") (; ";")))) (} "}")))) (} "}")))) (expression_statement "uVar44 = (ulong)uVar42 ^ (ulong)param_1;" (assignment_expression "uVar44 = (ulong)uVar42 ^ (ulong)param_1" (identifier "uVar44") (= "=") (binary_expression "(ulong)uVar42 ^ (ulong)param_1" (cast_expression "(ulong)uVar42" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar42")) (^ "^") (cast_expression "(ulong)param_1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_1")))) (; ";")) (expression_statement "uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);" (assignment_expression "uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48)" (identifier "uVar32") (= "=") (binary_expression "uVar44 % *(ulong *)((long)local_1a0 + 0x48)" (identifier "uVar44") (% "%") (pointer_expression "*(ulong *)((long)local_1a0 + 0x48)" (* "*") (cast_expression "(ulong *)((long)local_1a0 + 0x48)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_1a0 + 0x48)" (( "(") (binary_expression "(long)local_1a0 + 0x48" (cast_expression "(long)local_1a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1a0")) (+ "+") (number_literal "0x48")) () ")")))))) (; ";")) (expression_statement "plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);" (assignment_expression "plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" (identifier "plVar25") (= "=") (cast_expression "(long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" (identifier "FUN_001b4d40") (argument_list "((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44)" (( "(") (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1a0")) (+ "+") (number_literal "0x40")) (, ",") (identifier "uVar32") (, ",") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (identifier "uVar44") () ")"))))) (; ";")) (if_statement "if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }" (if "if") (parenthesized_expression "((plVar25 == (long *)0x0) || (*plVar25 == 0))" (( "(") (binary_expression "(plVar25 == (long *)0x0) || (*plVar25 == 0)" (parenthesized_expression "(plVar25 == (long *)0x0)" (( "(") (binary_expression "plVar25 == (long *)0x0" (identifier "plVar25") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*plVar25 == 0)" (( "(") (binary_expression "*plVar25 == 0" (pointer_expression "*plVar25" (* "*") (identifier "plVar25")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n                  puVar24 = (undefined8 *)FUN_002d9490(0x20);\n                  puVar24[1] = param_1;\n                  *puVar24 = 0;\n                  *(uint *)(puVar24 + 2) = uVar42;\n                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);\n                }" ({ "{") (expression_statement "puVar24 = (undefined8 *)FUN_002d9490(0x20);" (assignment_expression "puVar24 = (undefined8 *)FUN_002d9490(0x20)" (identifier "puVar24") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x20)" (identifier "FUN_002d9490") (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "puVar24[1] = param_1;" (assignment_expression "puVar24[1] = param_1" (subscript_expression "puVar24[1]" (identifier "puVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar24 + 2) = uVar42;" (assignment_expression "*(uint *)(puVar24 + 2) = uVar42" (pointer_expression "*(uint *)(puVar24 + 2)" (* "*") (cast_expression "(uint *)(puVar24 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar24 + 2)" (( "(") (binary_expression "puVar24 + 2" (identifier "puVar24") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar42")) (; ";")) (expression_statement "FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);" (call_expression "FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1)" (identifier "FUN_001ba010") (argument_list "((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1)" (( "(") (binary_expression "(long)local_1a0 + 0x40" (cast_expression "(long)local_1a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_1a0")) (+ "+") (number_literal "0x40")) (, ",") (identifier "uVar32") (, ",") (identifier "uVar44") (, ",") (identifier "puVar24") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\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_002dac60();\n                }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (if_statement "if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }\n          else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" (if "if") (parenthesized_expression "((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4))))" (( "(") (binary_expression "(cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))" (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((uVar43 != 9 && (uVar43 != 4)))" (( "(") (parenthesized_expression "(uVar43 != 9 && (uVar43 != 4))" (( "(") (binary_expression "uVar43 != 9 && (uVar43 != 4)" (binary_expression "uVar43 != 9" (identifier "uVar43") (!= "!=") (number_literal "9")) (&& "&&") (parenthesized_expression "(uVar43 != 4)" (( "(") (binary_expression "uVar43 != 4" (identifier "uVar43") (!= "!=") (number_literal "4")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }\n          }" ({ "{") (if_statement "if ((uVar43 != 0x11) || (cVar14 == '\0')) {\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }" (if "if") (parenthesized_expression "((uVar43 != 0x11) || (cVar14 == '\0'))" (( "(") (binary_expression "(uVar43 != 0x11) || (cVar14 == '\0')" (parenthesized_expression "(uVar43 != 0x11)" (( "(") (binary_expression "uVar43 != 0x11" (identifier "uVar43") (!= "!=") (number_literal "0x11")) () ")")) (|| "||") (parenthesized_expression "(cVar14 == '\0')" (( "(") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              cVar15 = FUN_001c3d60(param_1,&local_188);\n              uVar42 = local_18c;\n              bVar45 = false;\n              bVar46 = cVar15 == '\0';\n              if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }\n              if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }\n            }" ({ "{") (expression_statement "cVar15 = FUN_001c3d60(param_1,&local_188);" (assignment_expression "cVar15 = FUN_001c3d60(param_1,&local_188)" (identifier "cVar15") (= "=") (call_expression "FUN_001c3d60(param_1,&local_188)" (identifier "FUN_001c3d60") (argument_list "(param_1,&local_188)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_188" (& "&") (identifier "local_188")) () ")")))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar46 = cVar15 == '\0';" (assignment_expression "bVar46 = cVar15 == '\0'" (identifier "bVar46") (= "=") (binary_expression "cVar15 == '\0'" (identifier "cVar15") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar46) {\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" (if "if") (parenthesized_expression "(!bVar46)" (( "(") (unary_expression "!bVar46" (! "!") (identifier "bVar46")) () ")")) (compound_statement "{\n                lVar28 = 10;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".eh_frame";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);\n                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }\n              }" ({ "{") (expression_statement "lVar28 = 10;" (assignment_expression "lVar28 = 10" (identifier "lVar28") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".eh_frame";" (assignment_expression "pbVar39 = (byte *)".eh_frame"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".eh_frame"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".eh_frame"" (" """) (string_content ".eh_frame") (" """)))) (; ";")) (do_statement "do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar46);" (do "do") (compound_statement "{\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar45 = *pbVar38 < *pbVar39;\n                  bVar46 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (; ";")) (if_statement "if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" (if "if") (parenthesized_expression "(((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0'))" (( "(") (binary_expression "((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')" (parenthesized_expression "((!bVar45 && !bVar46) == bVar45)" (( "(") (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" (( "(") (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (&& "&&") (unary_expression "!bVar46" (! "!") (identifier "bVar46"))) () ")")) (== "==") (identifier "bVar45")) () ")")) (&& "&&") (parenthesized_expression "(uVar43 = uVar3, cVar14 == '\0')" (( "(") (comma_expression "uVar43 = uVar3, cVar14 == '\0'" (assignment_expression "uVar43 = uVar3" (identifier "uVar43") (= "=") (identifier "uVar3")) (, ",") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                  if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }\n                  goto LAB_001daa92;\n                }" ({ "{") (if_statement "if (bVar9) {\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }\n                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;\n                  }" ({ "{") (expression_statement "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;" (assignment_expression "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =\n                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1" (pointer_expression "*(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" (* "*") (cast_expression "(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c")) (* "*") (number_literal "8"))) () ")")))) (= "=") (binary_expression "(ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1" (call_expression "(ulong)(*(char *)((long)param_1 + 0x1e1) != '\0')" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*(char *)((long)param_1 + 0x1e1) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 0x1e1) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" (* "*") (cast_expression "(char *)((long)param_1 + 0x1e1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1e1)" (( "(") (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1e1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                         0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c")) (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (} "}")) (else_clause "else if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" (else "else") (if_statement "if (*(char *)((long)param_1 + 0x1e1) == '\0') {\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }\n                  else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 0x1e1) == '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 0x1e1) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" (* "*") (cast_expression "(char *)((long)param_1 + 0x1e1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1e1)" (( "(") (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1e1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    FUN_001c6700(&local_158,&local_18c);\n                    uVar42 = local_18c;\n                  }" ({ "{") (expression_statement "FUN_001c6700(&local_158,&local_18c);" (call_expression "FUN_001c6700(&local_158,&local_18c)" (identifier "FUN_001c6700") (argument_list "(&local_158,&local_18c)" (( "(") (pointer_expression "&local_158" (& "&") (identifier "local_158")) (, ",") (pointer_expression "&local_18c" (& "&") (identifier "local_18c")) () ")"))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (} "}")) (else_clause "else {\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" (else "else") (compound_statement "{\n                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);\n                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);\n                    FUN_001bde30(&local_a8,__s1);\n                    local_88 = uVar42;\n                    local_84 = CONCAT44(uVar6,uVar5);\n                    uStack_74 = *(undefined8 *)(puVar37 + 2);\n                    local_6c = *(undefined8 *)(puVar37 + 4);\n                    uStack_64 = *(undefined8 *)(puVar37 + 6);\n                    local_5c = *(undefined8 *)(puVar37 + 8);\n                    uStack_54 = *(undefined8 *)(puVar37 + 10);\n                    local_4c = *(undefined8 *)(puVar37 + 0xc);\n                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);\n                    \n                    FUN_001d6880(param_1 + 0x7a,&local_a8);\n                    uVar42 = local_18c;\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\n                    }\n                  }" ({ "{") (expression_statement "uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);" (assignment_expression "uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(lVar17 + (ulong)local_18c * 4)" (* "*") (cast_expression "(undefined4 *)(lVar17 + (ulong)local_18c * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + (ulong)local_18c * 4)" (( "(") (binary_expression "lVar17 + (ulong)local_18c * 4" (identifier "lVar17") (+ "+") (binary_expression "(ulong)local_18c * 4" (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);" (assignment_expression "uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(lVar18 + (ulong)local_18c * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + (ulong)local_18c * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + (ulong)local_18c * 4)" (( "(") (binary_expression "lVar18 + (ulong)local_18c * 4" (identifier "lVar18") (+ "+") (binary_expression "(ulong)local_18c * 4" (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" (identifier "FUN_001bde30") (argument_list "(&local_a8,__s1)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "__s1") () ")"))) (; ";")) (expression_statement "local_88 = uVar42;" (assignment_expression "local_88 = uVar42" (identifier "local_88") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "local_84 = CONCAT44(uVar6,uVar5);" (assignment_expression "local_84 = CONCAT44(uVar6,uVar5)" (identifier "local_84") (= "=") (call_expression "CONCAT44(uVar6,uVar5)" (identifier "CONCAT44") (argument_list "(uVar6,uVar5)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" (identifier "uStack_74") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 2)" (( "(") (binary_expression "puVar37 + 2" (identifier "puVar37") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" (identifier "local_6c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 4)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 4)" (( "(") (binary_expression "puVar37 + 4" (identifier "puVar37") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" (identifier "uStack_64") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 6)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 6)" (( "(") (binary_expression "puVar37 + 6" (identifier "puVar37") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" (identifier "local_5c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 8)" (( "(") (binary_expression "puVar37 + 8" (identifier "puVar37") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" (identifier "uStack_54") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 10)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 10)" (( "(") (binary_expression "puVar37 + 10" (identifier "puVar37") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" (identifier "local_4c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 0xc)" (( "(") (binary_expression "puVar37 + 0xc" (identifier "puVar37") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" (identifier "uStack_44") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 0xe)" (( "(") (binary_expression "puVar37 + 0xe" (identifier "puVar37") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" (identifier "local_7c") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (* "*") (cast_expression "(undefined8 *)puVar37" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar37")))) (; ";")) (expression_statement "local_7c = CONCAT44(uVar3,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar3,(undefined4)local_7c)" (identifier "local_7c") (= "=") (call_expression "CONCAT44(uVar3,(undefined4)local_7c)" (identifier "CONCAT44") (argument_list "(uVar3,(undefined4)local_7c)" (( "(") (identifier "uVar3") (, ",") (cast_expression "(undefined4)local_7c" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "local_7c")) () ")")))) (; ";")) (expression_statement "FUN_001d6880(param_1 + 0x7a,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x7a,&local_a8)" (identifier "FUN_001d6880") (argument_list "(param_1 + 0x7a,&local_a8)" (( "(") (binary_expression "param_1 + 0x7a" (identifier "param_1") (+ "+") (number_literal "0x7a")) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")"))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (if_statement "if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                      uVar42 = local_18c;\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_002dac60();\n                      uVar42 = local_18c;\n                    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (} "}"))) (} "}")))))) (goto_statement "goto LAB_001daa92;" (goto "goto") (statement_identifier "LAB_001daa92") (; ";")) (} "}"))) (} "}"))) (if_statement "if (bVar8) {\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" (if "if") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")")) (compound_statement "{\n                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }\n                uVar32 = (ulong)local_18c;\n                lVar20 = uVar32 * 8;\n                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }\n                uVar42 = (uint)uVar32;\n                if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar28 == 0) {\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (expression_statement "lVar20 = uVar32 * 8;" (assignment_expression "lVar20 = uVar32 * 8" (identifier "lVar20") (= "=") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) (; ";")) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (identifier "lVar29") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (*(char *)(lVar28 + 0x2809) == '\0') {\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }\n                else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" (if "if") (parenthesized_expression "(*(char *)(lVar28 + 0x2809) == '\0')" (( "(") (binary_expression "*(char *)(lVar28 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar28 + 0x2809)" (* "*") (cast_expression "(char *)(lVar28 + 0x2809)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x2809)" (( "(") (binary_expression "lVar28 + 0x2809" (identifier "lVar28") (+ "+") (number_literal "0x2809")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }\n                }" ({ "{") (labeled_statement "LAB_001db162:\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" (statement_identifier "LAB_001db162") (: ":") (if_statement "if (*(int *)(lVar28 + 0x9050) != 0) {\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" (if "if") (parenthesized_expression "(*(int *)(lVar28 + 0x9050) != 0)" (( "(") (binary_expression "*(int *)(lVar28 + 0x9050) != 0" (pointer_expression "*(int *)(lVar28 + 0x9050)" (* "*") (cast_expression "(int *)(lVar28 + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x9050)" (( "(") (binary_expression "lVar28 + 0x9050" (identifier "lVar28") (+ "+") (number_literal "0x9050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }\n                    bVar27 = (byte)local_188[2];\njoined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }\n                  }" ({ "{") (if_statement "if (lVar29 == 0) {\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" (if "if") (parenthesized_expression "(lVar29 == 0)" (( "(") (binary_expression "lVar29 == 0" (identifier "lVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      uVar42 = (uint)uVar32;\n                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }\n                      goto LAB_001daa92;\n                    }" ({ "{") (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" (identifier "uVar42") (= "=") (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32"))) (; ";")) (if_statement "if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }" (if "if") (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1)" (( "(") (binary_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1" (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x38) + lVar20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + lVar20)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + lVar20" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "lVar20")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n                    \n                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");\n                      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x6f9,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x6f9") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001daa92;" (goto "goto") (statement_identifier "LAB_001daa92") (; ";")) (} "}"))) (expression_statement "bVar27 = (byte)local_188[2];" (assignment_expression "bVar27 = (byte)local_188[2]" (identifier "bVar27") (= "=") (cast_expression "(byte)local_188[2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_188[2]" (identifier "local_188") ([ "[") (number_literal "2") (] "]")))) (; ";")) (labeled_statement "joined_r0x001db186:\n                    if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" (statement_identifier "joined_r0x001db186") (: ":") (if_statement "if ((bVar27 & 2) != 0) {\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" (if "if") (parenthesized_expression "((bVar27 & 2) != 0)" (( "(") (binary_expression "(bVar27 & 2) != 0" (parenthesized_expression "(bVar27 & 2)" (( "(") (binary_expression "bVar27 & 2" (identifier "bVar27") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);\n                      if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                    }" ({ "{") (expression_statement "cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);" (assignment_expression "cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" (identifier "cVar15") (= "=") (call_expression "FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" (identifier "FUN_0017f630") (argument_list "(*(undefined8 *)(param_2 + 0x298),param_1,uVar32)" (( "(") (pointer_expression "*(undefined8 *)(param_2 + 0x298)" (* "*") (cast_expression "(undefined8 *)(param_2 + 0x298)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x298)" (( "(") (binary_expression "param_2 + 0x298" (identifier "param_2") (+ "+") (number_literal "0x298")) () ")")))) (, ",") (identifier "param_1") (, ",") (identifier "uVar32") () ")")))) (; ";")) (if_statement "if (cVar15 != '\0') {\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }" (if "if") (parenthesized_expression "(cVar15 != '\0')" (( "(") (binary_expression "cVar15 != '\0'" (identifier "cVar15") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }\n                        uVar32 = (ulong)local_18c;\n                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;\n                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);\n                        lVar28 = plVar25[1];\n                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);\n                        puVar36 = local_a8;\n                        uVar22 = *(undefined8 *)(param_1 + 2);\n                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }\n                        puVar13 = local_f8;\n                        uVar12 = DAT_0043e8e8;\n                        uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );\n                    \n                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);\n                        if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }\n                        goto LAB_001dc237;\n                      }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')\n                        goto LAB_001dafa0;" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x4be1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001dafa0;" (goto "goto") (statement_identifier "LAB_001dafa0") (; ";"))) (expression_statement "plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32);" (assignment_expression "plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" (identifier "plVar25") (= "=") (cast_expression "(long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" (identifier "FUN_0017f670") (argument_list "(*(undefined8 *)(param_2 + 0x298),param_1,\n                                                       uVar32)" (( "(") (pointer_expression "*(undefined8 *)(param_2 + 0x298)" (* "*") (cast_expression "(undefined8 *)(param_2 + 0x298)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x298)" (( "(") (binary_expression "param_2 + 0x298" (identifier "param_2") (+ "+") (number_literal "0x298")) () ")")))) (, ",") (identifier "param_1") (, ",") (identifier "uVar32") () ")"))))) (; ";")) (expression_statement "lVar28 = plVar25[1];" (assignment_expression "lVar28 = plVar25[1]" (identifier "lVar28") (= "=") (subscript_expression "plVar25[1]" (identifier "plVar25") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "(**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);" (call_expression "(**(code **)(*plVar25 + 0x80))(&local_a8,plVar25)" (parenthesized_expression "(**(code **)(*plVar25 + 0x80))" (( "(") (pointer_expression "**(code **)(*plVar25 + 0x80)" (* "*") (pointer_expression "*(code **)(*plVar25 + 0x80)" (* "*") (cast_expression "(code **)(*plVar25 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar25 + 0x80)" (( "(") (binary_expression "*plVar25 + 0x80" (pointer_expression "*plVar25" (* "*") (identifier "plVar25")) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (argument_list "(&local_a8,plVar25)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "plVar25") () ")"))) (; ";")) (expression_statement "puVar36 = local_a8;" (assignment_expression "puVar36 = local_a8" (identifier "puVar36") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "uVar22 = *(undefined8 *)(param_1 + 2);" (assignment_expression "uVar22 = *(undefined8 *)(param_1 + 2)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 2)" (* "*") (cast_expression "(undefined8 *)(param_1 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }\n                        else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" (if "if") (parenthesized_expression "(*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0)" (( "(") (binary_expression "*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0" (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" (* "*") (cast_expression "(code **)(*(long *)param_1 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1 + 0x80)" (( "(") (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" (* "*") (cast_expression "(long *)param_1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (identifier "FUN_001ce6f0")) () ")")) (compound_statement "{\n                    \n                          FUN_00168a50(&local_f8,param_1 + 0x3e);\n                        }" ({ "{") (expression_statement "FUN_00168a50(&local_f8,param_1 + 0x3e);" (call_expression "FUN_00168a50(&local_f8,param_1 + 0x3e)" (identifier "FUN_00168a50") (argument_list "(&local_f8,param_1 + 0x3e)" (( "(") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (binary_expression "param_1 + 0x3e" (identifier "param_1") (+ "+") (number_literal "0x3e")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" (else "else") (compound_statement "{\n                    \n                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);\n                        }" ({ "{") (expression_statement "(**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);" (call_expression "(**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c)" (parenthesized_expression "(**(code **)(*(long *)param_1 + 0x80))" (( "(") (pointer_expression "**(code **)(*(long *)param_1 + 0x80)" (* "*") (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" (* "*") (cast_expression "(code **)(*(long *)param_1 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1 + 0x80)" (( "(") (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" (* "*") (cast_expression "(long *)param_1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (argument_list "(&local_f8,param_1,local_18c)" (( "(") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (identifier "param_1") (, ",") (identifier "local_18c") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar13 = local_f8;" (assignment_expression "puVar13 = local_f8" (identifier "puVar13") (= "=") (identifier "local_f8")) (; ";")) (expression_statement "uVar12 = DAT_0043e8e8;" (assignment_expression "uVar12 = DAT_0043e8e8" (identifier "uVar12") (= "=") (identifier "DAT_0043e8e8")) (; ";")) (expression_statement "uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        );" (assignment_expression "uVar26 = gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" (identifier "uVar26") (= "=") (call_expression "gettext(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" (identifier "gettext") (argument_list "(\n                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"\n                                        )" (( "(") (string_literal ""%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"" (" """) (string_content "%s: ICF folding section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " in file ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " into ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " in file ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);" (call_expression "FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28)" (identifier "FUN_00178480") (argument_list "(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28)" (( "(") (identifier "uVar26") (, ",") (identifier "uVar12") (, ",") (identifier "puVar13") (, ",") (identifier "uVar22") (, ",") (identifier "puVar36") (, ",") (identifier "lVar28") () ")"))) (; ";")) (if_statement "if (local_f8 != auStack_e8) {\n                          FUN_002dac60();\n                        }" (if "if") (parenthesized_expression "(local_f8 != auStack_e8)" (( "(") (binary_expression "local_f8 != auStack_e8" (identifier "local_f8") (!= "!=") (identifier "auStack_e8")) () ")")) (compound_statement "{\n                          FUN_002dac60();\n                        }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001dc237;" (goto "goto") (statement_identifier "LAB_001dc237") (; ";")) (} "}"))) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (identifier "lVar29") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" (else "else") (compound_statement "{\n                  if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }\n                  if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }\n                  if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }\n                }" ({ "{") (if_statement "if (lVar29 == 0) {\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" (if "if") (parenthesized_expression "(lVar29 == 0)" (( "(") (binary_expression "lVar29 == 0" (identifier "lVar29") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }\n                    goto LAB_001daa92;\n                  }" ({ "{") (if_statement "if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }" (if "if") (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1)" (( "(") (binary_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1" (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + lVar20)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x38) + lVar20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + lVar20)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + lVar20" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (identifier "lVar20")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n                    \n                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");\n                    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");" (call_expression "FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.cc",0x6e4,"do_layout")" (( "(") (string_literal ""../../gold/object.cc"" (" """) (string_content "../../gold/object.cc") (" """)) (, ",") (number_literal "0x6e4") (, ",") (string_literal ""do_layout"" (" """) (string_content "do_layout") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_001daa92;" (goto "goto") (statement_identifier "LAB_001daa92") (; ";")) (} "}"))) (if_statement "if ((local_188[2] & 2) != 0) {\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }" (if "if") (parenthesized_expression "((local_188[2] & 2) != 0)" (( "(") (binary_expression "(local_188[2] & 2) != 0" (parenthesized_expression "(local_188[2] & 2)" (( "(") (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" (identifier "local_188") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    local_a0 = local_18c;\n                    local_a8 = param_1;\n                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);\n                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n                    if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }\n                    if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }\n                    uVar32 = (ulong)local_18c;\n                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;\n                    uVar22 = *(undefined8 *)(param_1 + 2);\n                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }\n                    puVar36 = local_a8;\n                    uVar12 = DAT_0043e8e8;\n                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");\n                    \n                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);\nLAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }\n                    goto LAB_001db6f8;\n                  }" ({ "{") (expression_statement "local_a0 = local_18c;" (assignment_expression "local_a0 = local_18c" (identifier "local_a0") (= "=") (identifier "local_18c")) (; ";")) (expression_statement "local_a8 = param_1;" (assignment_expression "local_a8 = param_1" (identifier "local_a8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);" (assignment_expression "lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" (identifier "lVar20") (= "=") (call_expression "FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" (identifier "FUN_001820f0") (argument_list "(*(long *)(param_2 + 0x290) + 0x50,&local_a8)" (( "(") (binary_expression "*(long *)(param_2 + 0x290) + 0x50" (pointer_expression "*(long *)(param_2 + 0x290)" (* "*") (cast_expression "(long *)(param_2 + 0x290)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x290)" (( "(") (binary_expression "param_2 + 0x290" (identifier "param_2") (+ "+") (number_literal "0x290")) () ")")))) (+ "+") (number_literal "0x50")) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")")))) (; ";")) (expression_statement "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar20 != 0) {\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }" (if "if") (parenthesized_expression "(lVar20 != 0)" (( "(") (binary_expression "lVar20 != 0" (identifier "lVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      uVar32 = (ulong)local_18c;\n                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);\n                      lVar20 = uVar32 * 8;\n                      goto LAB_001db162;\n                    }" ({ "{") (if_statement "if (lVar28 == 0) {\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (expression_statement "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);" (assignment_expression "lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (identifier "lVar29") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "lVar20 = uVar32 * 8;" (assignment_expression "lVar20 = uVar32 * 8" (identifier "lVar20") (= "=") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) (; ";")) (goto_statement "goto LAB_001db162;" (goto "goto") (statement_identifier "LAB_001db162") (; ";")) (} "}"))) (if_statement "if (lVar28 == 0) {\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (if_statement "if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;" (if "if") (parenthesized_expression "(*(char *)(lVar28 + 0x4b19) == '\0')" (( "(") (binary_expression "*(char *)(lVar28 + 0x4b19) == '\0'" (pointer_expression "*(char *)(lVar28 + 0x4b19)" (* "*") (cast_expression "(char *)(lVar28 + 0x4b19)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x4b19)" (( "(") (binary_expression "lVar28 + 0x4b19" (identifier "lVar28") (+ "+") (number_literal "0x4b19")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001dafa0;" (goto "goto") (statement_identifier "LAB_001dafa0") (; ";"))) (expression_statement "uVar22 = *(undefined8 *)(param_1 + 2);" (assignment_expression "uVar22 = *(undefined8 *)(param_1 + 2)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 2)" (* "*") (cast_expression "(undefined8 *)(param_1 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }\n                    else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" (if "if") (parenthesized_expression "(*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0)" (( "(") (binary_expression "*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0" (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" (* "*") (cast_expression "(code **)(*(long *)param_1 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1 + 0x80)" (( "(") (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" (* "*") (cast_expression "(long *)param_1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (identifier "FUN_001ce6f0")) () ")")) (compound_statement "{\n                    \n                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);\n                    }" ({ "{") (expression_statement "FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);" (call_expression "FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32)" (identifier "FUN_00168a50") (argument_list "(&local_a8,param_1 + 0x3e,uVar32)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (binary_expression "param_1 + 0x3e" (identifier "param_1") (+ "+") (number_literal "0x3e")) (, ",") (identifier "uVar32") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" (else "else") (compound_statement "{\n                    \n                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);\n                    }" ({ "{") (expression_statement "(**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);" (call_expression "(**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32)" (parenthesized_expression "(**(code **)(*(long *)param_1 + 0x80))" (( "(") (pointer_expression "**(code **)(*(long *)param_1 + 0x80)" (* "*") (pointer_expression "*(code **)(*(long *)param_1 + 0x80)" (* "*") (cast_expression "(code **)(*(long *)param_1 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1 + 0x80)" (( "(") (binary_expression "*(long *)param_1 + 0x80" (pointer_expression "*(long *)param_1" (* "*") (cast_expression "(long *)param_1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (argument_list "(&local_a8,param_1,uVar32)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "param_1") (, ",") (identifier "uVar32") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar36 = local_a8;" (assignment_expression "puVar36 = local_a8" (identifier "puVar36") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "uVar12 = DAT_0043e8e8;" (assignment_expression "uVar12 = DAT_0043e8e8" (identifier "uVar12") (= "=") (identifier "DAT_0043e8e8")) (; ";")) (expression_statement "uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");" (assignment_expression "uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'")" (identifier "uVar26") (= "=") (call_expression "gettext("%s: removing unused section from \'%s\' in file \'%s\'")" (identifier "gettext") (argument_list "("%s: removing unused section from \'%s\' in file \'%s\'")" (( "(") (string_literal ""%s: removing unused section from \'%s\' in file \'%s\'"" (" """) (string_content "%s: removing unused section from ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " in file ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00178480(uVar26,uVar12,puVar36,uVar22);" (call_expression "FUN_00178480(uVar26,uVar12,puVar36,uVar22)" (identifier "FUN_00178480") (argument_list "(uVar26,uVar12,puVar36,uVar22)" (( "(") (identifier "uVar26") (, ",") (identifier "uVar12") (, ",") (identifier "puVar36") (, ",") (identifier "uVar22") () ")"))) (; ";")) (labeled_statement "LAB_001dc237:\n                    if (local_a8 != auStack_98) {\n                      FUN_002dac60();\n                    }" (statement_identifier "LAB_001dc237") (: ":") (if_statement "if (local_a8 != auStack_98) {\n                      FUN_002dac60();\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_002dac60();\n                    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_001db6f8;" (goto "goto") (statement_identifier "LAB_001db6f8") (; ";")) (} "}"))) (if_statement "if (*(int *)(lVar28 + 0x9050) != 0) {\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }" (if "if") (parenthesized_expression "(*(int *)(lVar28 + 0x9050) != 0)" (( "(") (binary_expression "*(int *)(lVar28 + 0x9050) != 0" (pointer_expression "*(int *)(lVar28 + 0x9050)" (* "*") (cast_expression "(int *)(lVar28 + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x9050)" (( "(") (binary_expression "lVar28 + 0x9050" (identifier "lVar28") (+ "+") (number_literal "0x9050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    bVar27 = (byte)local_188[2];\n                    goto joined_r0x001db186;\n                  }" ({ "{") (expression_statement "bVar27 = (byte)local_188[2];" (assignment_expression "bVar27 = (byte)local_188[2]" (identifier "bVar27") (= "=") (cast_expression "(byte)local_188[2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_188[2]" (identifier "local_188") ([ "[") (number_literal "2") (] "]")))) (; ";")) (goto_statement "goto joined_r0x001db186;" (goto "goto") (statement_identifier "joined_r0x001db186") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" (identifier "uVar42") (= "=") (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32"))) (; ";")) (if_statement "if (lVar29 != 2) {\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(lVar29 != 2)" (( "(") (binary_expression "lVar29 != 2" (identifier "lVar29") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\nLAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }\n                }" ({ "{") (labeled_statement "LAB_001daeca:\n                  if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" (statement_identifier "LAB_001daeca") (: ":") (if_statement "if (bVar9) {\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }\n                  else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;\n                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n                    uVar42 = (uint)uVar32;\n                  }" ({ "{") (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" (identifier "uVar42") (= "=") (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" (else "else") (compound_statement "{\n                    iVar16 = *(int *)(lVar17 + uVar32 * 4);\n                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);\n                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;\n                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;\n                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }\n                    uVar42 = local_18c;\n                    if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }\n                  }" ({ "{") (expression_statement "iVar16 = *(int *)(lVar17 + uVar32 * 4);" (assignment_expression "iVar16 = *(int *)(lVar17 + uVar32 * 4)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(lVar17 + uVar32 * 4)" (* "*") (cast_expression "(int *)(lVar17 + uVar32 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + uVar32 * 4)" (( "(") (binary_expression "lVar17 + uVar32 * 4" (identifier "lVar17") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);" (assignment_expression "uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" (identifier "uVar22") (= "=") (call_expression "FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" (identifier "FUN_001bae80") (argument_list "(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,\n                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8)" (( "(") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (identifier "uVar32") (, ",") (identifier "__s1") (, ",") (pointer_expression "&local_188" (& "&") (identifier "local_188")) (, ",") (identifier "uVar43") (, ",") (identifier "iVar16") (, ",") (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + uVar32 * 4)" (( "(") (binary_expression "lVar18 + uVar32 * 4" (identifier "lVar18") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")")))) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;" (assignment_expression "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8" (pointer_expression "*(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (* "*") (cast_expression "(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "local_a8")) (; ";")) (if_statement "if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }" (if "if") (parenthesized_expression "((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0))" (( "(") (binary_expression "(local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)" (parenthesized_expression "(local_a8 == (uint *)0xffffffffffffffff)" (( "(") (binary_expression "local_a8 == (uint *)0xffffffffffffffff" (identifier "local_a8") (== "==") (cast_expression "(uint *)0xffffffffffffffff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) () ")")) (&& "&&") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                      *(undefined1 *)(param_1 + 0x1e) = 1;\n                    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x1e) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x1e) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x1e)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x1e)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e)" (( "(") (binary_expression "param_1 + 0x1e" (identifier "param_1") (+ "+") (number_literal "0x1e")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (if_statement "if (cVar14 == '\0') {\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }" (if "if") (parenthesized_expression "(cVar14 == '\0')" (( "(") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }\n                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }\n                    }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n                      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x28d1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        bVar45 = false;\n                        bVar46 = (local_188[2] & 2) == 0;\n                        if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }\n                      }" ({ "{") (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar46 = (local_188[2] & 2) == 0;" (assignment_expression "bVar46 = (local_188[2] & 2) == 0" (identifier "bVar46") (= "=") (binary_expression "(local_188[2] & 2) == 0" (parenthesized_expression "(local_188[2] & 2)" (( "(") (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" (identifier "local_188") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar46) {\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (compound_statement "{\n                          lVar28 = 0xc;\n                          pbVar38 = __s1;\n                          pbVar39 = (byte *)".debug_info";\n                          do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);\n                          bVar47 = false;\n                          bVar45 = (!bVar45 && !bVar46) == bVar45;\n                          if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }\n                    \n                          FUN_001c6700(&local_138,&local_18c);\n                          uVar42 = local_18c;\n                        }" ({ "{") (expression_statement "lVar28 = 0xc;" (assignment_expression "lVar28 = 0xc" (identifier "lVar28") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".debug_info";" (assignment_expression "pbVar39 = (byte *)".debug_info"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".debug_info"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".debug_info"" (" """) (string_content ".debug_info") (" """)))) (; ";")) (do_statement "do {\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          } while (bVar46);" (do "do") (compound_statement "{\n                            if (lVar28 == 0) break;\n                            lVar28 = lVar28 + -1;\n                            bVar45 = *pbVar38 < *pbVar39;\n                            bVar46 = *pbVar38 == *pbVar39;\n                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                          }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (; ";")) (expression_statement "bVar47 = false;" (assignment_expression "bVar47 = false" (identifier "bVar47") (= "=") (false "false")) (; ";")) (expression_statement "bVar45 = (!bVar45 && !bVar46) == bVar45;" (assignment_expression "bVar45 = (!bVar45 && !bVar46) == bVar45" (identifier "bVar45") (= "=") (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" (( "(") (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (&& "&&") (unary_expression "!bVar46" (! "!") (identifier "bVar46"))) () ")")) (== "==") (identifier "bVar45"))) (; ";")) (if_statement "if (!bVar45) {\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (compound_statement "{\n                            lVar28 = 0xd;\n                            pbVar38 = __s1;\n                            pbVar39 = (byte *)".zdebug_info";\n                            do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);\n                            bVar46 = false;\n                            bVar45 = (!bVar47 && !bVar45) == bVar47;\n                            if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }\n                          }" ({ "{") (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" (identifier "lVar28") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".zdebug_info";" (assignment_expression "pbVar39 = (byte *)".zdebug_info"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".zdebug_info"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".zdebug_info"" (" """) (string_content ".zdebug_info") (" """)))) (; ";")) (do_statement "do {\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            } while (bVar45);" (do "do") (compound_statement "{\n                              if (lVar28 == 0) break;\n                              lVar28 = lVar28 + -1;\n                              bVar47 = *pbVar38 < *pbVar39;\n                              bVar45 = *pbVar38 == *pbVar39;\n                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                            }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar47 = *pbVar38 < *pbVar39;" (assignment_expression "bVar47 = *pbVar38 < *pbVar39" (identifier "bVar47") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (; ";")) (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" (identifier "bVar46") (= "=") (false "false")) (; ";")) (expression_statement "bVar45 = (!bVar47 && !bVar45) == bVar47;" (assignment_expression "bVar45 = (!bVar47 && !bVar45) == bVar47" (identifier "bVar45") (= "=") (binary_expression "(!bVar47 && !bVar45) == bVar47" (parenthesized_expression "(!bVar47 && !bVar45)" (( "(") (binary_expression "!bVar47 && !bVar45" (unary_expression "!bVar47" (! "!") (identifier "bVar47")) (&& "&&") (unary_expression "!bVar45" (! "!") (identifier "bVar45"))) () ")")) (== "==") (identifier "bVar47"))) (; ";")) (if_statement "if (!bVar45) {\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (compound_statement "{\n                              lVar28 = 0xd;\n                              pbVar38 = __s1;\n                              pbVar39 = (byte *)".debug_types";\n                              do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);\n                              bVar47 = false;\n                              bVar45 = (!bVar46 && !bVar45) == bVar46;\n                              if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }\n                              FUN_001c6700(&local_118,&local_18c);\n                              uVar42 = local_18c;\n                              goto LAB_001daa92;\n                            }" ({ "{") (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" (identifier "lVar28") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".debug_types";" (assignment_expression "pbVar39 = (byte *)".debug_types"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".debug_types"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".debug_types"" (" """) (string_content ".debug_types") (" """)))) (; ";")) (do_statement "do {\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              } while (bVar45);" (do "do") (compound_statement "{\n                                if (lVar28 == 0) break;\n                                lVar28 = lVar28 + -1;\n                                bVar46 = *pbVar38 < *pbVar39;\n                                bVar45 = *pbVar38 == *pbVar39;\n                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                              }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (; ";")) (expression_statement "bVar47 = false;" (assignment_expression "bVar47 = false" (identifier "bVar47") (= "=") (false "false")) (; ";")) (expression_statement "bVar45 = (!bVar46 && !bVar45) == bVar46;" (assignment_expression "bVar45 = (!bVar46 && !bVar45) == bVar46" (identifier "bVar45") (= "=") (binary_expression "(!bVar46 && !bVar45) == bVar46" (parenthesized_expression "(!bVar46 && !bVar45)" (( "(") (binary_expression "!bVar46 && !bVar45" (unary_expression "!bVar46" (! "!") (identifier "bVar46")) (&& "&&") (unary_expression "!bVar45" (! "!") (identifier "bVar45"))) () ")")) (== "==") (identifier "bVar46"))) (; ";")) (if_statement "if (!bVar45) {\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (compound_statement "{\n                                lVar28 = 0xe;\n                                pbVar38 = (byte *)".zdebug_types";\n                                do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);\n                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;\n                              }" ({ "{") (expression_statement "lVar28 = 0xe;" (assignment_expression "lVar28 = 0xe" (identifier "lVar28") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "pbVar38 = (byte *)".zdebug_types";" (assignment_expression "pbVar38 = (byte *)".zdebug_types"" (identifier "pbVar38") (= "=") (cast_expression "(byte *)".zdebug_types"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".zdebug_types"" (" """) (string_content ".zdebug_types") (" """)))) (; ";")) (do_statement "do {\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                } while (bVar45);" (do "do") (compound_statement "{\n                                  if (lVar28 == 0) break;\n                                  lVar28 = lVar28 + -1;\n                                  bVar47 = *__s1 < *pbVar38;\n                                  bVar45 = *__s1 == *pbVar38;\n                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;\n                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                                }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar47 = *__s1 < *pbVar38;" (assignment_expression "bVar47 = *__s1 < *pbVar38" (identifier "bVar47") (= "=") (binary_expression "*__s1 < *pbVar38" (pointer_expression "*__s1" (* "*") (identifier "__s1")) (< "<") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")))) (; ";")) (expression_statement "bVar45 = *__s1 == *pbVar38;" (assignment_expression "bVar45 = *__s1 == *pbVar38" (identifier "bVar45") (= "=") (binary_expression "*__s1 == *pbVar38" (pointer_expression "*__s1" (* "*") (identifier "__s1")) (== "==") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")))) (; ";")) (expression_statement "__s1 = __s1 + (ulong)bVar48 * -2 + 1;" (assignment_expression "__s1 = __s1 + (ulong)bVar48 * -2 + 1" (identifier "__s1") (= "=") (binary_expression "__s1 + (ulong)bVar48 * -2 + 1" (binary_expression "__s1 + (ulong)bVar48 * -2" (identifier "__s1") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (; ";")) (if_statement "if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;" (if "if") (parenthesized_expression "((!bVar47 && !bVar45) != bVar47)" (( "(") (binary_expression "(!bVar47 && !bVar45) != bVar47" (parenthesized_expression "(!bVar47 && !bVar45)" (( "(") (binary_expression "!bVar47 && !bVar45" (unary_expression "!bVar47" (! "!") (identifier "bVar47")) (&& "&&") (unary_expression "!bVar45" (! "!") (identifier "bVar45"))) () ")")) (!= "!=") (identifier "bVar47")) () ")")) (goto_statement "goto LAB_001daa92;" (goto "goto") (statement_identifier "LAB_001daa92") (; ";"))) (} "}"))) (expression_statement "FUN_001c6700(&local_118,&local_18c);" (call_expression "FUN_001c6700(&local_118,&local_18c)" (identifier "FUN_001c6700") (argument_list "(&local_118,&local_18c)" (( "(") (pointer_expression "&local_118" (& "&") (identifier "local_118")) (, ",") (pointer_expression "&local_18c" (& "&") (identifier "local_18c")) () ")"))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (goto_statement "goto LAB_001daa92;" (goto "goto") (statement_identifier "LAB_001daa92") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_001c6700(&local_138,&local_18c);" (call_expression "FUN_001c6700(&local_138,&local_18c)" (identifier "FUN_001c6700") (argument_list "(&local_138,&local_18c)" (( "(") (pointer_expression "&local_138" (& "&") (identifier "local_138")) (, ",") (pointer_expression "&local_18c" (& "&") (identifier "local_18c")) () ")"))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))))) (} "}"))) (} "}")) (else_clause "else {\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" (else "else") (compound_statement "{\n                uVar32 = (ulong)local_18c;\n                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;\n                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);\n                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);\n                FUN_001bde30(&local_a8,__s1);\n                local_88 = uVar42;\n                local_84 = CONCAT44(uVar5,uVar6);\n                uStack_74 = *(undefined8 *)(puVar37 + 2);\n                local_6c = *(undefined8 *)(puVar37 + 4);\n                uStack_64 = *(undefined8 *)(puVar37 + 6);\n                local_5c = *(undefined8 *)(puVar37 + 8);\n                uStack_54 = *(undefined8 *)(puVar37 + 10);\n                local_4c = *(undefined8 *)(puVar37 + 0xc);\n                uStack_44 = *(undefined8 *)(puVar37 + 0xe);\n                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;\n                local_7c = CONCAT44(uVar43,(undefined4)local_7c);\n                    \n                FUN_001d6880(param_1 + 0x7a,&local_a8);\n                if (local_a8 != auStack_98) {\n                  FUN_002dac60();\n                }\n                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;\n                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;\n                uVar42 = local_18c;\n              }" ({ "{") (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (if_statement "if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))\n                goto LAB_001daeca;" (if "if") (parenthesized_expression "((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))" (( "(") (binary_expression "(*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0)" (parenthesized_expression "(*(char *)((long)param_1 + 0x1e1) == '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 0x1e1) == '\0'" (pointer_expression "*(char *)((long)param_1 + 0x1e1)" (* "*") (cast_expression "(char *)((long)param_1 + 0x1e1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1e1)" (( "(") (binary_expression "(long)param_1 + 0x1e1" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1e1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((local_188[2] & 2) == 0)" (( "(") (binary_expression "(local_188[2] & 2) == 0" (parenthesized_expression "(local_188[2] & 2)" (( "(") (binary_expression "local_188[2] & 2" (subscript_expression "local_188[2]" (identifier "local_188") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001daeca;" (goto "goto") (statement_identifier "LAB_001daeca") (; ";"))) (expression_statement "uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);" (assignment_expression "uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(lVar18 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar18 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar18 + uVar32 * 4)" (( "(") (binary_expression "lVar18 + uVar32 * 4" (identifier "lVar18") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);" (assignment_expression "uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(lVar17 + uVar32 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar17 + uVar32 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar17 + uVar32 * 4)" (( "(") (binary_expression "lVar17 + uVar32 * 4" (identifier "lVar17") (+ "+") (binary_expression "uVar32 * 4" (identifier "uVar32") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "FUN_001bde30(&local_a8,__s1);" (call_expression "FUN_001bde30(&local_a8,__s1)" (identifier "FUN_001bde30") (argument_list "(&local_a8,__s1)" (( "(") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) (, ",") (identifier "__s1") () ")"))) (; ";")) (expression_statement "local_88 = uVar42;" (assignment_expression "local_88 = uVar42" (identifier "local_88") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "local_84 = CONCAT44(uVar5,uVar6);" (assignment_expression "local_84 = CONCAT44(uVar5,uVar6)" (identifier "local_84") (= "=") (call_expression "CONCAT44(uVar5,uVar6)" (identifier "CONCAT44") (argument_list "(uVar5,uVar6)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "uStack_74 = *(undefined8 *)(puVar37 + 2);" (assignment_expression "uStack_74 = *(undefined8 *)(puVar37 + 2)" (identifier "uStack_74") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 2)" (( "(") (binary_expression "puVar37 + 2" (identifier "puVar37") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_6c = *(undefined8 *)(puVar37 + 4);" (assignment_expression "local_6c = *(undefined8 *)(puVar37 + 4)" (identifier "local_6c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 4)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 4)" (( "(") (binary_expression "puVar37 + 4" (identifier "puVar37") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uStack_64 = *(undefined8 *)(puVar37 + 6);" (assignment_expression "uStack_64 = *(undefined8 *)(puVar37 + 6)" (identifier "uStack_64") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 6)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 6)" (( "(") (binary_expression "puVar37 + 6" (identifier "puVar37") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "local_5c = *(undefined8 *)(puVar37 + 8);" (assignment_expression "local_5c = *(undefined8 *)(puVar37 + 8)" (identifier "local_5c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 8)" (( "(") (binary_expression "puVar37 + 8" (identifier "puVar37") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uStack_54 = *(undefined8 *)(puVar37 + 10);" (assignment_expression "uStack_54 = *(undefined8 *)(puVar37 + 10)" (identifier "uStack_54") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 10)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 10)" (( "(") (binary_expression "puVar37 + 10" (identifier "puVar37") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "local_4c = *(undefined8 *)(puVar37 + 0xc);" (assignment_expression "local_4c = *(undefined8 *)(puVar37 + 0xc)" (identifier "local_4c") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 0xc)" (( "(") (binary_expression "puVar37 + 0xc" (identifier "puVar37") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uStack_44 = *(undefined8 *)(puVar37 + 0xe);" (assignment_expression "uStack_44 = *(undefined8 *)(puVar37 + 0xe)" (identifier "uStack_44") (= "=") (pointer_expression "*(undefined8 *)(puVar37 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar37 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar37 + 0xe)" (( "(") (binary_expression "puVar37 + 0xe" (identifier "puVar37") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (expression_statement "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;" (assignment_expression "local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37" (field_expression "local_7c._0_4_" (identifier "local_7c") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "(undefined4)*(undefined8 *)puVar37" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (* "*") (cast_expression "(undefined8 *)puVar37" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar37")))) (; ";")) (expression_statement "local_7c = CONCAT44(uVar43,(undefined4)local_7c);" (assignment_expression "local_7c = CONCAT44(uVar43,(undefined4)local_7c)" (identifier "local_7c") (= "=") (call_expression "CONCAT44(uVar43,(undefined4)local_7c)" (identifier "CONCAT44") (argument_list "(uVar43,(undefined4)local_7c)" (( "(") (identifier "uVar43") (, ",") (cast_expression "(undefined4)local_7c" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "local_7c")) () ")")))) (; ";")) (expression_statement "FUN_001d6880(param_1 + 0x7a,&local_a8);" (call_expression "FUN_001d6880(param_1 + 0x7a,&local_a8)" (identifier "FUN_001d6880") (argument_list "(param_1 + 0x7a,&local_a8)" (( "(") (binary_expression "param_1 + 0x7a" (identifier "param_1") (+ "+") (number_literal "0x7a")) (, ",") (pointer_expression "&local_a8" (& "&") (identifier "local_a8")) () ")"))) (; ";")) (if_statement "if (local_a8 != auStack_98) {\n                  FUN_002dac60();\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_002dac60();\n                }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c")) (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =\n                     0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + (ulong)local_18c * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "(ulong)local_18c * 8" (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c")) (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" (else "else") (if_statement "if (local_170 == local_168) {\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }\n          else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" (if "if") (parenthesized_expression "(local_170 == local_168)" (( "(") (binary_expression "local_170 == local_168" (identifier "local_170") (== "==") (identifier "local_168")) () ")")) (compound_statement "{\n            FUN_00160c40(&local_178,local_170,&local_18c);\n            uVar42 = local_18c;\n          }" ({ "{") (expression_statement "FUN_00160c40(&local_178,local_170,&local_18c);" (call_expression "FUN_00160c40(&local_178,local_170,&local_18c)" (identifier "FUN_00160c40") (argument_list "(&local_178,local_170,&local_18c)" (( "(") (pointer_expression "&local_178" (& "&") (identifier "local_178")) (, ",") (identifier "local_170") (, ",") (pointer_expression "&local_18c" (& "&") (identifier "local_18c")) () ")"))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (} "}")) (else_clause "else {\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" (else "else") (compound_statement "{\n            *local_170 = local_18c;\n            local_170 = local_170 + 1;\n          }" ({ "{") (expression_statement "*local_170 = local_18c;" (assignment_expression "*local_170 = local_18c" (pointer_expression "*local_170" (* "*") (identifier "local_170")) (= "=") (identifier "local_18c")) (; ";")) (expression_statement "local_170 = local_170 + 1;" (assignment_expression "local_170 = local_170 + 1" (identifier "local_170") (= "=") (binary_expression "local_170 + 1" (identifier "local_170") (+ "+") (number_literal "1"))) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" (else "else") (compound_statement "{\n          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);\n          bVar45 = cVar15 == '\0';\n          bVar46 = cVar15 == '\x01';\n          if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".note.GNU-stack";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);\n          if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }\n          cVar15 = FUN_001bd330(param_1,__s1);\n          uVar42 = local_18c;\n          puVar11 = PTR_DAT_0043e6b0;\n          bVar27 = (byte)local_18c;\n          if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }\n          if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }\n          uVar32 = (ulong)local_18c;\n          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);\n          bVar45 = __s2 == (char *)0x0;\n          if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }\nLAB_001daf00:\n          bVar46 = false;\n          lVar28 = 0x10;\n          pbVar38 = __s1;\n          pbVar39 = (byte *)".gnu.attributes";\n          do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);\n          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;\n          if (uVar43 == 7) goto LAB_001daf2c;\nLAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;\n          if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }\nLAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;\n          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;\n          uVar42 = (uint)uVar32;\n        }" ({ "{") (expression_statement "cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);" (assignment_expression "cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2)" (identifier "cVar15") (= "=") (call_expression "FUN_001bdd20(param_1,__s1,local_18c,param_2)" (identifier "FUN_001bdd20") (argument_list "(param_1,__s1,local_18c,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "__s1") (, ",") (identifier "local_18c") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "bVar45 = cVar15 == '\0';" (assignment_expression "bVar45 = cVar15 == '\0'" (identifier "bVar45") (= "=") (binary_expression "cVar15 == '\0'" (identifier "cVar15") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (expression_statement "bVar46 = cVar15 == '\x01';" (assignment_expression "bVar46 = cVar15 == '\x01'" (identifier "bVar46") (= "=") (binary_expression "cVar15 == '\x01'" (identifier "cVar15") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")))) (; ";")) (if_statement "if (bVar46) {\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (compound_statement "{\n            bVar45 = false;\n            bVar46 = cVar14 == '\0';\n            if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }\n          }" ({ "{") (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar46 = cVar14 == '\0';" (assignment_expression "bVar46 = cVar14 == '\0'" (identifier "bVar46") (= "=") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (bVar46) {\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (compound_statement "{\n              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }\n              bVar45 = false;\n              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';\n              if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }\n            }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n                FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n              }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';" (assignment_expression "bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (identifier "bVar46") (= "=") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (bVar46) {\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (compound_statement "{\n                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n                bVar45 = false;\n                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n                bVar46 = *puVar19 == 0;\n              }" ({ "{") (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (identifier "puVar19") (= "=") (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_18c >> 3 & 0x1ffffff8)" (( "(") (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" (identifier "local_18c") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x1ffffff8")) () ")"))) (+ "+") (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8"))) () ")")))) (; ";")) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (| "|") (binary_expression "1L << ((byte)local_18c & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)local_18c & 0x3f)" (( "(") (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_18c")) (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (expression_statement "bVar46 = *puVar19 == 0;" (assignment_expression "bVar46 = *puVar19 == 0" (identifier "bVar46") (= "=") (binary_expression "*puVar19 == 0" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (== "==") (number_literal "0"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "lVar28 = 0x10;" (assignment_expression "lVar28 = 0x10" (identifier "lVar28") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".note.GNU-stack";" (assignment_expression "pbVar39 = (byte *)".note.GNU-stack"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".note.GNU-stack"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".note.GNU-stack"" (" """) (string_content ".note.GNU-stack") (" """)))) (; ";")) (do_statement "do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar46);" (do "do") (compound_statement "{\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar45 = *pbVar38 < *pbVar39;\n            bVar46 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (; ";")) (if_statement "if ((!bVar45 && !bVar46) == bVar45) {\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }" (if "if") (parenthesized_expression "((!bVar45 && !bVar46) == bVar45)" (( "(") (binary_expression "(!bVar45 && !bVar46) == bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" (( "(") (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (&& "&&") (unary_expression "!bVar46" (! "!") (identifier "bVar46"))) () ")")) (== "==") (identifier "bVar45")) () ")")) (compound_statement "{\n            uVar10 = 1;\n            local_238 = local_238 | *(ulong *)(local_188 + 2);\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n          }" ({ "{") (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" (identifier "uVar10") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_238 = local_238 | *(ulong *)(local_188 + 2);" (assignment_expression "local_238 = local_238 | *(ulong *)(local_188 + 2)" (identifier "local_238") (= "=") (binary_expression "local_238 | *(ulong *)(local_188 + 2)" (identifier "local_238") (| "|") (pointer_expression "*(ulong *)(local_188 + 2)" (* "*") (cast_expression "(ulong *)(local_188 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_188 + 2)" (( "(") (binary_expression "local_188 + 2" (identifier "local_188") (+ "+") (number_literal "2")) () ")")))))) (; ";")) (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (identifier "puVar19") (= "=") (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_18c >> 3 & 0x1ffffff8)" (( "(") (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" (identifier "local_18c") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x1ffffff8")) () ")"))) (+ "+") (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8"))) () ")")))) (; ";")) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (| "|") (binary_expression "1L << ((byte)local_18c & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)local_18c & 0x3f)" (( "(") (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_18c")) (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (} "}"))) (expression_statement "cVar15 = FUN_001bd330(param_1,__s1);" (assignment_expression "cVar15 = FUN_001bd330(param_1,__s1)" (identifier "cVar15") (= "=") (call_expression "FUN_001bd330(param_1,__s1)" (identifier "FUN_001bd330") (argument_list "(param_1,__s1)" (( "(") (identifier "param_1") (, ",") (identifier "__s1") () ")")))) (; ";")) (expression_statement "uVar42 = local_18c;" (assignment_expression "uVar42 = local_18c" (identifier "uVar42") (= "=") (identifier "local_18c")) (; ";")) (expression_statement "puVar11 = PTR_DAT_0043e6b0;" (assignment_expression "puVar11 = PTR_DAT_0043e6b0" (identifier "puVar11") (= "=") (identifier "PTR_DAT_0043e6b0")) (; ";")) (expression_statement "bVar27 = (byte)local_18c;" (assignment_expression "bVar27 = (byte)local_18c" (identifier "bVar27") (= "=") (cast_expression "(byte)local_18c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_18c"))) (; ";")) (if_statement "if ((cVar15 == '\x01') && (cVar14 == '\0')) {\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }" (if "if") (parenthesized_expression "((cVar15 == '\x01') && (cVar14 == '\0'))" (( "(") (binary_expression "(cVar15 == '\x01') && (cVar14 == '\0')" (parenthesized_expression "(cVar15 == '\x01')" (( "(") (binary_expression "cVar15 == '\x01'" (identifier "cVar15") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(cVar14 == '\0')" (( "(") (binary_expression "cVar14 == '\0'" (identifier "cVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }\n          }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n              FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n            }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            }" ({ "{") (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (identifier "puVar19") (= "=") (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_18c >> 3 & 0x1ffffff8)" (( "(") (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" (identifier "local_18c") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x1ffffff8")) () ")"))) (+ "+") (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8"))) () ")")))) (; ";")) (expression_statement "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "*puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (| "|") (binary_expression "1L << (bVar27 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(bVar27 & 0x3f)" (( "(") (binary_expression "bVar27 & 0x3f" (identifier "bVar27") (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(long *)(puVar11 + 0x18) == 0) {\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }" (if "if") (parenthesized_expression "(*(long *)(puVar11 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(puVar11 + 0x18) == 0" (pointer_expression "*(long *)(puVar11 + 0x18)" (* "*") (cast_expression "(long *)(puVar11 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x18)" (( "(") (binary_expression "puVar11 + 0x18" (identifier "puVar11") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/parameters.h",0x69,"target");\n          }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (expression_statement "__s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);" (assignment_expression "__s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" (identifier "__s2") (= "=") (pointer_expression "*(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" (* "*") (cast_expression "(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60)" (( "(") (binary_expression "*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60" (pointer_expression "*(long *)(*(long *)(puVar11 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(puVar11 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(puVar11 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(puVar11 + 0x18) + 8" (pointer_expression "*(long *)(puVar11 + 0x18)" (* "*") (cast_expression "(long *)(puVar11 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x18)" (( "(") (binary_expression "puVar11 + 0x18" (identifier "puVar11") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "bVar45 = __s2 == (char *)0x0;" (assignment_expression "bVar45 = __s2 == (char *)0x0" (identifier "bVar45") (= "=") (binary_expression "__s2 == (char *)0x0" (identifier "__s2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (!bVar45) {\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (compound_statement "{\n            iVar16 = strcmp((char *)__s1,__s2);\n            bVar45 = iVar16 == 0;\n            if (!bVar45) goto LAB_001daf00;\nLAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);\n            if (uVar43 != 7) goto LAB_001dabee;\nLAB_001daf2c:\n            bVar46 = uVar43 == 7;\n            bVar45 = uVar43 < 7;\n            lVar28 = 0x13;\n            pbVar38 = __s1;\n            pbVar39 = (byte *)".note.gnu.property";\n            do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);\n            if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }\n                    \n            FUN_001ca630(param_1,param_3,uVar32);\n            uVar32 = (ulong)local_18c;\n            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);\n            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);\n            goto LAB_001dafa0;\n          }" ({ "{") (expression_statement "iVar16 = strcmp((char *)__s1,__s2);" (assignment_expression "iVar16 = strcmp((char *)__s1,__s2)" (identifier "iVar16") (= "=") (call_expression "strcmp((char *)__s1,__s2)" (identifier "strcmp") (argument_list "((char *)__s1,__s2)" (( "(") (cast_expression "(char *)__s1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__s1")) (, ",") (identifier "__s2") () ")")))) (; ";")) (expression_statement "bVar45 = iVar16 == 0;" (assignment_expression "bVar45 = iVar16 == 0" (identifier "bVar45") (= "=") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (!bVar45) goto LAB_001daf00;" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (goto_statement "goto LAB_001daf00;" (goto "goto") (statement_identifier "LAB_001daf00") (; ";"))) (labeled_statement "LAB_001dabc4:\n            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);" (statement_identifier "LAB_001dabc4") (: ":") (expression_statement "puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" (identifier "puVar19") (= "=") (cast_expression "(ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (binary_expression "(ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(uVar42 >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar42 >> 3 & 0x1ffffff8)" (( "(") (binary_expression "uVar42 >> 3 & 0x1ffffff8" (binary_expression "uVar42 >> 3" (identifier "uVar42") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x1ffffff8")) () ")"))) (+ "+") (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8"))) () ")")))) (; ";"))) (expression_statement "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "*puVar19 | 1L << (bVar27 & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (| "|") (binary_expression "1L << (bVar27 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(bVar27 & 0x3f)" (( "(") (binary_expression "bVar27 & 0x3f" (identifier "bVar27") (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (if_statement "if (uVar43 != 7) goto LAB_001dabee;" (if "if") (parenthesized_expression "(uVar43 != 7)" (( "(") (binary_expression "uVar43 != 7" (identifier "uVar43") (!= "!=") (number_literal "7")) () ")")) (goto_statement "goto LAB_001dabee;" (goto "goto") (statement_identifier "LAB_001dabee") (; ";"))) (labeled_statement "LAB_001daf2c:\n            bVar46 = uVar43 == 7;" (statement_identifier "LAB_001daf2c") (: ":") (expression_statement "bVar46 = uVar43 == 7;" (assignment_expression "bVar46 = uVar43 == 7" (identifier "bVar46") (= "=") (binary_expression "uVar43 == 7" (identifier "uVar43") (== "==") (number_literal "7"))) (; ";"))) (expression_statement "bVar45 = uVar43 < 7;" (assignment_expression "bVar45 = uVar43 < 7" (identifier "bVar45") (= "=") (binary_expression "uVar43 < 7" (identifier "uVar43") (< "<") (number_literal "7"))) (; ";")) (expression_statement "lVar28 = 0x13;" (assignment_expression "lVar28 = 0x13" (identifier "lVar28") (= "=") (number_literal "0x13")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".note.gnu.property";" (assignment_expression "pbVar39 = (byte *)".note.gnu.property"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".note.gnu.property"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".note.gnu.property"" (" """) (string_content ".note.gnu.property") (" """)))) (; ";")) (do_statement "do {\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            } while (bVar46);" (do "do") (compound_statement "{\n              if (lVar28 == 0) break;\n              lVar28 = lVar28 + -1;\n              bVar45 = *pbVar38 < *pbVar39;\n              bVar46 = *pbVar38 == *pbVar39;\n              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n            }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar45 = *pbVar38 < *pbVar39;" (assignment_expression "bVar45 = *pbVar38 < *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar46 = *pbVar38 == *pbVar39;" (assignment_expression "bVar46 = *pbVar38 == *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (; ";")) (if_statement "if ((!bVar45 && !bVar46) != bVar45) {\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" (if "if") (parenthesized_expression "((!bVar45 && !bVar46) != bVar45)" (( "(") (binary_expression "(!bVar45 && !bVar46) != bVar45" (parenthesized_expression "(!bVar45 && !bVar46)" (( "(") (binary_expression "!bVar45 && !bVar46" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (&& "&&") (unary_expression "!bVar46" (! "!") (identifier "bVar46"))) () ")")) (!= "!=") (identifier "bVar45")) () ")")) (compound_statement "{\n              bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;\n              bVar45 = !bVar46;\n              if (bVar46) goto LAB_001dac20;\n              goto LAB_001daf78;\n            }" ({ "{") (expression_statement "bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;" (assignment_expression "bVar46 = (1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0" (identifier "bVar46") (= "=") (binary_expression "(1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0" (parenthesized_expression "(1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))" (( "(") (binary_expression "1L << (bVar27 & 0x3f) &\n                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (binary_expression "1L << (bVar27 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(bVar27 & 0x3f)" (( "(") (binary_expression "bVar27 & 0x3f" (identifier "bVar27") (& "&") (number_literal "0x3f")) () ")"))) (& "&") (pointer_expression "*(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (* "*") (cast_expression "(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (( "(") (binary_expression "(long)local_d8 + (ulong)(uVar42 >> 6) * 8" (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8")) (+ "+") (binary_expression "(ulong)(uVar42 >> 6) * 8" (call_expression "(ulong)(uVar42 >> 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar42 >> 6)" (( "(") (binary_expression "uVar42 >> 6" (identifier "uVar42") (>> ">>") (number_literal "6")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) () ")")) (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar45 = !bVar46;" (assignment_expression "bVar45 = !bVar46" (identifier "bVar45") (= "=") (unary_expression "!bVar46" (! "!") (identifier "bVar46"))) (; ";")) (if_statement "if (bVar46) goto LAB_001dac20;" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (goto_statement "goto LAB_001dac20;" (goto "goto") (statement_identifier "LAB_001dac20") (; ";"))) (goto_statement "goto LAB_001daf78;" (goto "goto") (statement_identifier "LAB_001daf78") (; ";")) (} "}"))) (expression_statement "FUN_001ca630(param_1,param_3,uVar32);" (call_expression "FUN_001ca630(param_1,param_3,uVar32)" (identifier "FUN_001ca630") (argument_list "(param_1,param_3,uVar32)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "uVar32") () ")"))) (; ";")) (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (expression_statement "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);" (assignment_expression "puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (identifier "puVar19") (= "=") (cast_expression "(ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8)" (( "(") (binary_expression "(ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8" (call_expression "(ulong)(local_18c >> 3 & 0x1ffffff8)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(local_18c >> 3 & 0x1ffffff8)" (( "(") (binary_expression "local_18c >> 3 & 0x1ffffff8" (binary_expression "local_18c >> 3" (identifier "local_18c") (>> ">>") (number_literal "3")) (& "&") (number_literal "0x1ffffff8")) () ")"))) (+ "+") (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8"))) () ")")))) (; ";")) (expression_statement "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);" (assignment_expression "*puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (binary_expression "*puVar19 | 1L << ((byte)local_18c & 0x3f)" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (| "|") (binary_expression "1L << ((byte)local_18c & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)local_18c & 0x3f)" (( "(") (binary_expression "(byte)local_18c & 0x3f" (cast_expression "(byte)local_18c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_18c")) (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (goto_statement "goto LAB_001dafa0;" (goto "goto") (statement_identifier "LAB_001dafa0") (; ";")) (} "}"))) (labeled_statement "LAB_001daf00:\n          bVar46 = false;" (statement_identifier "LAB_001daf00") (: ":") (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" (identifier "bVar46") (= "=") (false "false")) (; ";"))) (expression_statement "lVar28 = 0x10;" (assignment_expression "lVar28 = 0x10" (identifier "lVar28") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".gnu.attributes";" (assignment_expression "pbVar39 = (byte *)".gnu.attributes"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".gnu.attributes"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".gnu.attributes"" (" """) (string_content ".gnu.attributes") (" """)))) (; ";")) (do_statement "do {\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          } while (bVar45);" (do "do") (compound_statement "{\n            if (lVar28 == 0) break;\n            lVar28 = lVar28 + -1;\n            bVar46 = *pbVar38 < *pbVar39;\n            bVar45 = *pbVar38 == *pbVar39;\n            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n          }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar45 = *pbVar38 == *pbVar39;" (assignment_expression "bVar45 = *pbVar38 == *pbVar39" (identifier "bVar45") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (; ";")) (if_statement "if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;" (if "if") (parenthesized_expression "((!bVar46 && !bVar45) == bVar46)" (( "(") (binary_expression "(!bVar46 && !bVar45) == bVar46" (parenthesized_expression "(!bVar46 && !bVar45)" (( "(") (binary_expression "!bVar46 && !bVar45" (unary_expression "!bVar46" (! "!") (identifier "bVar46")) (&& "&&") (unary_expression "!bVar45" (! "!") (identifier "bVar45"))) () ")")) (== "==") (identifier "bVar46")) () ")")) (goto_statement "goto LAB_001dabc4;" (goto "goto") (statement_identifier "LAB_001dabc4") (; ";"))) (if_statement "if (uVar43 == 7) goto LAB_001daf2c;" (if "if") (parenthesized_expression "(uVar43 == 7)" (( "(") (binary_expression "uVar43 == 7" (identifier "uVar43") (== "==") (number_literal "7")) () ")")) (goto_statement "goto LAB_001daf2c;" (goto "goto") (statement_identifier "LAB_001daf2c") (; ";"))) (labeled_statement "LAB_001dabee:\n          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;" (statement_identifier "LAB_001dabee") (: ":") (expression_statement "bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0;" (assignment_expression "bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0" (identifier "bVar45") (= "=") (binary_expression "(1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))\n                   != 0" (parenthesized_expression "(1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))" (( "(") (binary_expression "1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (binary_expression "1L << (bVar27 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(bVar27 & 0x3f)" (( "(") (binary_expression "bVar27 & 0x3f" (identifier "bVar27") (& "&") (number_literal "0x3f")) () ")"))) (& "&") (pointer_expression "*(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (* "*") (cast_expression "(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d8 + (ulong)(uVar42 >> 6) * 8)" (( "(") (binary_expression "(long)local_d8 + (ulong)(uVar42 >> 6) * 8" (cast_expression "(long)local_d8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d8")) (+ "+") (binary_expression "(ulong)(uVar42 >> 6) * 8" (call_expression "(ulong)(uVar42 >> 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar42 >> 6)" (( "(") (binary_expression "uVar42 >> 6" (identifier "uVar42") (>> ">>") (number_literal "6")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) () ")")) (!= "!=") (number_literal "0"))) (; ";"))) (if_statement "if (bVar45) {\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }\n          else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" (if "if") (parenthesized_expression "(bVar45)" (( "(") (identifier "bVar45") () ")")) (compound_statement "{\nLAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);\n            if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;\n          }" ({ "{") (labeled_statement "LAB_001daf78:\n            local_210 = *(long *)(param_3 + 0x378);" (statement_identifier "LAB_001daf78") (: ":") (expression_statement "local_210 = *(long *)(param_3 + 0x378);" (assignment_expression "local_210 = *(long *)(param_3 + 0x378)" (identifier "local_210") (= "=") (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")) () ")"))))) (; ";"))) (if_statement "if (local_210 == 0) {\n              if (!bVar45) goto LAB_001da9c0;\n            }\n            else if (!bVar45) goto LAB_001dac76;" (if "if") (parenthesized_expression "(local_210 == 0)" (( "(") (binary_expression "local_210 == 0" (identifier "local_210") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (!bVar45) goto LAB_001da9c0;\n            }" ({ "{") (if_statement "if (!bVar45) goto LAB_001da9c0;" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (goto_statement "goto LAB_001da9c0;" (goto "goto") (statement_identifier "LAB_001da9c0") (; ";"))) (} "}")) (else_clause "else if (!bVar45) goto LAB_001dac76;" (else "else") (if_statement "if (!bVar45) goto LAB_001dac76;" (if "if") (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (goto_statement "goto LAB_001dac76;" (goto "goto") (statement_identifier "LAB_001dac76") (; ";"))))) (} "}")) (else_clause "else {\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" (else "else") (compound_statement "{\n            bVar45 = false;\n            if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }\n                    \n            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);\n            if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }\nLAB_001db6f8:\n            uVar32 = (ulong)local_18c;\n          }" ({ "{") (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (if_statement "if (uVar43 != 0x11) {\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }" (if "if") (parenthesized_expression "(uVar43 != 0x11)" (( "(") (binary_expression "uVar43 != 0x11" (identifier "uVar43") (!= "!=") (number_literal "0x11")) () ")")) (compound_statement "{\nLAB_001dac20:\n              bVar46 = false;\n              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;\n              if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }\nLAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);\n              if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }\n              goto LAB_001da9c0;\n            }" ({ "{") (labeled_statement "LAB_001dac20:\n              bVar46 = false;" (statement_identifier "LAB_001dac20") (: ":") (expression_statement "bVar46 = false;" (assignment_expression "bVar46 = false" (identifier "bVar46") (= "=") (false "false")) (; ";"))) (expression_statement "bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;" (assignment_expression "bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0" (identifier "bVar47") (= "=") (binary_expression "(*(byte *)((long)local_188 + 9) & 2) == 0" (parenthesized_expression "(*(byte *)((long)local_188 + 9) & 2)" (( "(") (binary_expression "*(byte *)((long)local_188 + 9) & 2" (pointer_expression "*(byte *)((long)local_188 + 9)" (* "*") (cast_expression "(byte *)((long)local_188 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_188 + 9)" (( "(") (binary_expression "(long)local_188 + 9" (cast_expression "(long)local_188" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_188")) (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar47) {\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }" (if "if") (parenthesized_expression "(bVar47)" (( "(") (identifier "bVar47") () ")")) (compound_statement "{\n                lVar28 = 0xd;\n                pbVar38 = __s1;\n                pbVar39 = (byte *)".gnu.linkonce";\n                do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);\n                if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }\n              }" ({ "{") (expression_statement "lVar28 = 0xd;" (assignment_expression "lVar28 = 0xd" (identifier "lVar28") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "pbVar38 = __s1;" (assignment_expression "pbVar38 = __s1" (identifier "pbVar38") (= "=") (identifier "__s1")) (; ";")) (expression_statement "pbVar39 = (byte *)".gnu.linkonce";" (assignment_expression "pbVar39 = (byte *)".gnu.linkonce"" (identifier "pbVar39") (= "=") (cast_expression "(byte *)".gnu.linkonce"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".gnu.linkonce"" (" """) (string_content ".gnu.linkonce") (" """)))) (; ";")) (do_statement "do {\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                } while (bVar47);" (do "do") (compound_statement "{\n                  if (lVar28 == 0) break;\n                  lVar28 = lVar28 + -1;\n                  bVar46 = *pbVar38 < *pbVar39;\n                  bVar47 = *pbVar38 == *pbVar39;\n                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;\n                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar28 == 0) break;" (if "if") (parenthesized_expression "(lVar28 == 0)" (( "(") (binary_expression "lVar28 == 0" (identifier "lVar28") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar28 = lVar28 + -1;" (assignment_expression "lVar28 = lVar28 + -1" (identifier "lVar28") (= "=") (binary_expression "lVar28 + -1" (identifier "lVar28") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar46 = *pbVar38 < *pbVar39;" (assignment_expression "bVar46 = *pbVar38 < *pbVar39" (identifier "bVar46") (= "=") (binary_expression "*pbVar38 < *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (< "<") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "bVar47 = *pbVar38 == *pbVar39;" (assignment_expression "bVar47 = *pbVar38 == *pbVar39" (identifier "bVar47") (= "=") (binary_expression "*pbVar38 == *pbVar39" (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")) (== "==") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar48 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;" (assignment_expression "pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1" (identifier "pbVar39") (= "=") (binary_expression "pbVar39 + (ulong)bVar48 * -2 + 1" (binary_expression "pbVar39 + (ulong)bVar48 * -2" (identifier "pbVar39") (+ "+") (binary_expression "(ulong)bVar48 * -2" (cast_expression "(ulong)bVar48" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar48")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar47)" (( "(") (identifier "bVar47") () ")")) (; ";")) (if_statement "if (((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))\n                {\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }" (if "if") (parenthesized_expression "(((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))" (( "(") (binary_expression "((!bVar46 && !bVar47) == bVar46) &&\n                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0')" (parenthesized_expression "((!bVar46 && !bVar47) == bVar46)" (( "(") (binary_expression "(!bVar46 && !bVar47) == bVar46" (parenthesized_expression "(!bVar46 && !bVar47)" (( "(") (binary_expression "!bVar46 && !bVar47" (unary_expression "!bVar46" (! "!") (identifier "bVar46")) (&& "&&") (unary_expression "!bVar47" (! "!") (identifier "bVar47"))) () ")")) (== "==") (identifier "bVar46")) () ")")) (&& "&&") (parenthesized_expression "(cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0')" (( "(") (comma_expression "cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'" (assignment_expression "cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188)" (identifier "cVar15") (= "=") (call_expression "FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188)" (identifier "FUN_001ce980") (argument_list "(param_1,param_3,uVar32,__s1,&local_188)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (identifier "uVar32") (, ",") (identifier "__s1") (, ",") (pointer_expression "&local_188" (& "&") (identifier "local_188")) () ")")))) (, ",") (binary_expression "cVar15 == '\0'" (identifier "cVar15") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                  uVar32 = (ulong)local_18c;\n                  goto LAB_001dafa0;\n                }" ({ "{") (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";")) (goto_statement "goto LAB_001dafa0;" (goto "goto") (statement_identifier "LAB_001dafa0") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_001dac4f:\n              local_210 = *(long *)(param_3 + 0x378);" (statement_identifier "LAB_001dac4f") (: ":") (expression_statement "local_210 = *(long *)(param_3 + 0x378);" (assignment_expression "local_210 = *(long *)(param_3 + 0x378)" (identifier "local_210") (= "=") (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")) () ")"))))) (; ";"))) (if_statement "if ((!bVar45) && (local_210 != 0)) {\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }" (if "if") (parenthesized_expression "((!bVar45) && (local_210 != 0))" (( "(") (binary_expression "(!bVar45) && (local_210 != 0)" (parenthesized_expression "(!bVar45)" (( "(") (unary_expression "!bVar45" (! "!") (identifier "bVar45")) () ")")) (&& "&&") (parenthesized_expression "(local_210 != 0)" (( "(") (binary_expression "local_210 != 0" (identifier "local_210") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);\n                if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }\n              }" ({ "{") (labeled_statement "LAB_001dac76:\n                cVar15 = FUN_00183010(uVar43);" (statement_identifier "LAB_001dac76") (: ":") (expression_statement "cVar15 = FUN_00183010(uVar43);" (assignment_expression "cVar15 = FUN_00183010(uVar43)" (identifier "cVar15") (= "=") (call_expression "FUN_00183010(uVar43)" (identifier "FUN_00183010") (argument_list "(uVar43)" (( "(") (identifier "uVar43") () ")")))) (; ";"))) (if_statement "if (cVar15 != '\0') {\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }" (if "if") (parenthesized_expression "(cVar15 != '\0')" (( "(") (binary_expression "cVar15 != '\0'" (identifier "cVar15") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  uVar22 = *(undefined8 *)(local_188 + 8);\n                  lVar28 = *(long *)(param_1 + 0x12);\n                  if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }\n                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);\n                }" ({ "{") (expression_statement "uVar22 = *(undefined8 *)(local_188 + 8);" (assignment_expression "uVar22 = *(undefined8 *)(local_188 + 8)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)(local_188 + 8)" (* "*") (cast_expression "(undefined8 *)(local_188 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_188 + 8)" (( "(") (binary_expression "local_188 + 8" (identifier "local_188") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "lVar28 = *(long *)(param_1 + 0x12);" (assignment_expression "lVar28 = *(long *)(param_1 + 0x12)" (identifier "lVar28") (= "=") (pointer_expression "*(long *)(param_1 + 0x12)" (* "*") (cast_expression "(long *)(param_1 + 0x12)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x12)" (( "(") (binary_expression "param_1 + 0x12" (identifier "param_1") (+ "+") (number_literal "0x12")) () ")"))))) (; ";")) (if_statement "if (lVar28 != 0) {\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(lVar28 != 0)" (( "(") (binary_expression "lVar28 != 0" (identifier "lVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    lVar20 = *(long *)(lVar28 + 0x10);\n                    lVar29 = lVar28 + 8;\n                    if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }\n                  }" ({ "{") (expression_statement "lVar20 = *(long *)(lVar28 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar28 + 0x10)" (identifier "lVar20") (= "=") (pointer_expression "*(long *)(lVar28 + 0x10)" (* "*") (cast_expression "(long *)(lVar28 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x10)" (( "(") (binary_expression "lVar28 + 0x10" (identifier "lVar28") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "lVar29 = lVar28 + 8;" (assignment_expression "lVar29 = lVar28 + 8" (identifier "lVar29") (= "=") (binary_expression "lVar28 + 8" (identifier "lVar28") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if (*(long *)(lVar28 + 0x10) != 0) {\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }" (if "if") (parenthesized_expression "(*(long *)(lVar28 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(lVar28 + 0x10) != 0" (pointer_expression "*(long *)(lVar28 + 0x10)" (* "*") (cast_expression "(long *)(lVar28 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar28 + 0x10)" (( "(") (binary_expression "lVar28 + 0x10" (identifier "lVar28") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);\nLAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }\n                    }" ({ "{") (do_statement "do {\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      } while (*(long *)(lVar30 + 0x10) != 0);" (do "do") (compound_statement "{\n                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }\n                        lVar20 = *(long *)(lVar30 + 0x10);\n                        lVar29 = lVar30;\n                      }" ({ "{") (while_statement "while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }" (while "while") (parenthesized_expression "(lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c)" (( "(") (comma_expression "lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c" (assignment_expression "lVar30 = lVar20" (identifier "lVar30") (= "=") (identifier "lVar20")) (, ",") (binary_expression "*(uint *)(lVar30 + 0x20) < local_18c" (pointer_expression "*(uint *)(lVar30 + 0x20)" (* "*") (cast_expression "(uint *)(lVar30 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x20)" (( "(") (binary_expression "lVar30 + 0x20" (identifier "lVar30") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (identifier "local_18c"))) () ")")) (compound_statement "{\n                          plVar25 = (long *)(lVar30 + 0x18);\n                          lVar20 = *plVar25;\n                          lVar30 = lVar29;\n                          if (*plVar25 == 0) goto LAB_001dacda;\n                        }" ({ "{") (expression_statement "plVar25 = (long *)(lVar30 + 0x18);" (assignment_expression "plVar25 = (long *)(lVar30 + 0x18)" (identifier "plVar25") (= "=") (cast_expression "(long *)(lVar30 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x18)" (( "(") (binary_expression "lVar30 + 0x18" (identifier "lVar30") (+ "+") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "lVar20 = *plVar25;" (assignment_expression "lVar20 = *plVar25" (identifier "lVar20") (= "=") (pointer_expression "*plVar25" (* "*") (identifier "plVar25"))) (; ";")) (expression_statement "lVar30 = lVar29;" (assignment_expression "lVar30 = lVar29" (identifier "lVar30") (= "=") (identifier "lVar29")) (; ";")) (if_statement "if (*plVar25 == 0) goto LAB_001dacda;" (if "if") (parenthesized_expression "(*plVar25 == 0)" (( "(") (binary_expression "*plVar25 == 0" (pointer_expression "*plVar25" (* "*") (identifier "plVar25")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001dacda;" (goto "goto") (statement_identifier "LAB_001dacda") (; ";"))) (} "}"))) (expression_statement "lVar20 = *(long *)(lVar30 + 0x10);" (assignment_expression "lVar20 = *(long *)(lVar30 + 0x10)" (identifier "lVar20") (= "=") (pointer_expression "*(long *)(lVar30 + 0x10)" (* "*") (cast_expression "(long *)(lVar30 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x10)" (( "(") (binary_expression "lVar30 + 0x10" (identifier "lVar30") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "lVar29 = lVar30;" (assignment_expression "lVar29 = lVar30" (identifier "lVar29") (= "=") (identifier "lVar30")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(long *)(lVar30 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(lVar30 + 0x10) != 0" (pointer_expression "*(long *)(lVar30 + 0x10)" (* "*") (cast_expression "(long *)(lVar30 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x10)" (( "(") (binary_expression "lVar30 + 0x10" (identifier "lVar30") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_001dacda:\n                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" (statement_identifier "LAB_001dacda") (: ":") (if_statement "if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" (if "if") (parenthesized_expression "((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c))" (( "(") (binary_expression "(lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)" (parenthesized_expression "(lVar28 + 8 != lVar30)" (( "(") (binary_expression "lVar28 + 8 != lVar30" (binary_expression "lVar28 + 8" (identifier "lVar28") (+ "+") (number_literal "8")) (!= "!=") (identifier "lVar30")) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(lVar30 + 0x20) <= local_18c)" (( "(") (binary_expression "*(uint *)(lVar30 + 0x20) <= local_18c" (pointer_expression "*(uint *)(lVar30 + 0x20)" (* "*") (cast_expression "(uint *)(lVar30 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x20)" (( "(") (binary_expression "lVar30 + 0x20" (identifier "lVar30") (+ "+") (number_literal "0x20")) () ")")))) (<= "<=") (identifier "local_18c")) () ")"))) () ")")) (compound_statement "{\n                        uVar22 = *(undefined8 *)(lVar30 + 0x28);\n                      }" ({ "{") (expression_statement "uVar22 = *(undefined8 *)(lVar30 + 0x28);" (assignment_expression "uVar22 = *(undefined8 *)(lVar30 + 0x28)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)(lVar30 + 0x28)" (* "*") (cast_expression "(undefined8 *)(lVar30 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar30 + 0x28)" (( "(") (binary_expression "lVar30 + 0x28" (identifier "lVar30") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (expression_statement "FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);" (call_expression "FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22)" (identifier "FUN_00183d90") (argument_list "(local_210,param_1,local_18c,__s1,uVar22)" (( "(") (identifier "local_210") (, ",") (identifier "param_1") (, ",") (identifier "local_18c") (, ",") (identifier "__s1") (, ",") (identifier "uVar22") () ")"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_001da9c0;" (goto "goto") (statement_identifier "LAB_001da9c0") (; ";")) (} "}"))) (expression_statement "cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270);" (assignment_expression "cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" (identifier "cVar15") (= "=") (call_expression "FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" (identifier "FUN_001d4330") (argument_list "(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,\n                                  local_270)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "uVar32") (, ",") (identifier "__s1") (, ",") (identifier "local_1f0") (, ",") (identifier "local_1c0") (, ",") (identifier "local_1c8") (, ",") (identifier "local_270") () ")")))) (; ";")) (if_statement "if (cVar15 != '\0') {\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }" (if "if") (parenthesized_expression "(cVar15 != '\0')" (( "(") (binary_expression "cVar15 != '\0'" (identifier "cVar15") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              bVar45 = false;\n              goto LAB_001dac4f;\n            }" ({ "{") (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_001dac4f;" (goto "goto") (statement_identifier "LAB_001dac4f") (; ";")) (} "}"))) (labeled_statement "LAB_001db6f8:\n            uVar32 = (ulong)local_18c;" (statement_identifier "LAB_001db6f8") (: ":") (expression_statement "uVar32 = (ulong)local_18c;" (assignment_expression "uVar32 = (ulong)local_18c" (identifier "uVar32") (= "=") (cast_expression "(ulong)local_18c" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_18c"))) (; ";"))) (} "}")))) (labeled_statement "LAB_001dafa0:\n          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (statement_identifier "LAB_001dafa0") (: ":") (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x14) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x14) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x14)" (* "*") (cast_expression "(long *)(param_1 + 0x14)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + uVar32 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + uVar32 * 8" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar32 * 8" (identifier "uVar32") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "uVar42 = (uint)uVar32;" (assignment_expression "uVar42 = (uint)uVar32" (identifier "uVar42") (= "=") (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32"))) (; ";")) (} "}")))) (labeled_statement "LAB_001daa92:\n        local_18c = uVar42 + 1;" (statement_identifier "LAB_001daa92") (: ":") (expression_statement "local_18c = uVar42 + 1;" (assignment_expression "local_18c = uVar42 + 1" (identifier "local_18c") (= "=") (binary_expression "uVar42 + 1" (identifier "uVar42") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar36 = puVar37 + 0x10;" (assignment_expression "puVar36 = puVar37 + 0x10" (identifier "puVar36") (= "=") (binary_expression "puVar37 + 0x10" (identifier "puVar37") (+ "+") (number_literal "0x10"))) (; ";")) (if_statement "if (uVar2 <= local_18c) goto LAB_001da530;" (if "if") (parenthesized_expression "(uVar2 <= local_18c)" (( "(") (binary_expression "uVar2 <= local_18c" (identifier "uVar2") (<= "<=") (identifier "local_18c")) () ")")) (goto_statement "goto LAB_001da530;" (goto "goto") (statement_identifier "LAB_001da530") (; ";"))) (expression_statement "uVar32 = (ulong)*puVar36;" (assignment_expression "uVar32 = (ulong)*puVar36" (identifier "uVar32") (= "=") (binary_expression "(ulong)*puVar36" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "puVar36"))) (; ";")) (expression_statement "uVar43 = puVar37[0x11];" (assignment_expression "uVar43 = puVar37[0x11]" (identifier "uVar43") (= "=") (subscript_expression "puVar37[0x11]" (identifier "puVar37") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "puVar37 = puVar36;" (assignment_expression "puVar37 = puVar36" (identifier "puVar37") (= "=") (identifier "puVar36")) (; ";")) (expression_statement "local_188 = puVar36;" (assignment_expression "local_188 = puVar36" (identifier "local_188") (= "=") (identifier "puVar36")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar32 < local_1c8)" (( "(") (binary_expression "uVar32 < local_1c8" (identifier "uVar32") (< "<") (identifier "local_1c8")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar2 = local_18c;" (assignment_expression "uVar2 = local_18c" (identifier "uVar2") (= "=") (identifier "local_18c")) (; ";")) (expression_statement "local_270 = &local_d8;" (assignment_expression "local_270 = &local_d8" (identifier "local_270") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";")) (expression_statement "uVar22 = gettext("bad section name offset for section %u: %lu");" (assignment_expression "uVar22 = gettext("bad section name offset for section %u: %lu")" (identifier "uVar22") (= "=") (call_expression "gettext("bad section name offset for section %u: %lu")" (identifier "gettext") (argument_list "("bad section name offset for section %u: %lu")" (( "(") (string_literal ""bad section name offset for section %u: %lu"" (" """) (string_content "bad section name offset for section %u: %lu") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001bd150(param_1,uVar22,uVar2,uVar32);" (call_expression "FUN_001bd150(param_1,uVar22,uVar2,uVar32)" (identifier "FUN_001bd150") (argument_list "(param_1,uVar22,uVar2,uVar32)" (( "(") (identifier "param_1") (, ",") (identifier "uVar22") (, ",") (identifier "uVar2") (, ",") (identifier "uVar32") () ")"))) (; ";")) (if_statement "if (local_118 != (uint *)0x0) {\n      FUN_002dac60();\n    }" (if "if") (parenthesized_expression "(local_118 != (uint *)0x0)" (( "(") (binary_expression "local_118 != (uint *)0x0" (identifier "local_118") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_002dac60();\n    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_138 != (uint *)0x0) {\n      FUN_002dac60();\n    }" (if "if") (parenthesized_expression "(local_138 != (uint *)0x0)" (( "(") (binary_expression "local_138 != (uint *)0x0" (identifier "local_138") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_002dac60();\n    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_158 != (uint *)0x0) {\n      FUN_002dac60();\n    }" (if "if") (parenthesized_expression "(local_158 != (uint *)0x0)" (( "(") (binary_expression "local_158 != (uint *)0x0" (identifier "local_158") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_002dac60();\n    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_178 != (uint *)0x0) {\n      FUN_002dac60();\n    }" (if "if") (parenthesized_expression "(local_178 != (uint *)0x0)" (( "(") (binary_expression "local_178 != (uint *)0x0" (identifier "local_178") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_002dac60();\n    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_001d5cd0(local_270);" (call_expression "FUN_001d5cd0(local_270)" (identifier "FUN_001d5cd0") (argument_list "(local_270)" (( "(") (identifier "local_270") () ")"))) (; ";")) (} "}")) (else_clause "else if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" (else "else") (if_statement "if (!bVar8) {\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" (if "if") (parenthesized_expression "(!bVar8)" (( "(") (unary_expression "!bVar8" (! "!") (identifier "bVar8")) () ")")) (compound_statement "{\n    lVar28 = *param_4;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    lVar28 = param_4[1];\n    *param_4 = 0;\n    if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }\n    param_4[1] = 0;\n  }" ({ "{") (expression_statement "lVar28 = *param_4;" (assignment_expression "lVar28 = *param_4" (identifier "lVar28") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (if_statement "if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" (if "if") (parenthesized_expression "(lVar28 != 0)" (( "(") (binary_expression "lVar28 != 0" (identifier "lVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" ({ "{") (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" (identifier "FUN_0017a780") (argument_list "(lVar28)" (( "(") (identifier "lVar28") () ")"))) (; ";")) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" (identifier "thunk_FUN_002dac60") (argument_list "(lVar28,0x18)" (( "(") (identifier "lVar28") (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar28 = param_4[1];" (assignment_expression "lVar28 = param_4[1]" (identifier "lVar28") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*param_4 = 0;" (assignment_expression "*param_4 = 0" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (lVar28 != 0) {\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" (if "if") (parenthesized_expression "(lVar28 != 0)" (( "(") (binary_expression "lVar28 != 0" (identifier "lVar28") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0017a780(lVar28);\n      thunk_FUN_002dac60(lVar28,0x18);\n    }" ({ "{") (expression_statement "FUN_0017a780(lVar28);" (call_expression "FUN_0017a780(lVar28)" (identifier "FUN_0017a780") (argument_list "(lVar28)" (( "(") (identifier "lVar28") () ")"))) (; ";")) (expression_statement "thunk_FUN_002dac60(lVar28,0x18);" (call_expression "thunk_FUN_002dac60(lVar28,0x18)" (identifier "thunk_FUN_002dac60") (argument_list "(lVar28,0x18)" (( "(") (identifier "lVar28") (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}"))) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))))) (expression_statement "FUN_002dac60(lVar18);" (call_expression "FUN_002dac60(lVar18)" (identifier "FUN_002dac60") (argument_list "(lVar18)" (( "(") (identifier "lVar18") () ")"))) (; ";")) (expression_statement "FUN_002dac60(lVar17);" (call_expression "FUN_002dac60(lVar17)" (identifier "FUN_002dac60") (argument_list "(lVar17)" (( "(") (identifier "lVar17") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_layout(Sized_relobj_file<64,_false> * this, Symbol_table *
   symtab, Layout * layout, Read_symbols_data * sd) */

void __thiscall
var_45::var_7<64,var_59>::do_layout
          (var_7<64,var_59> *this,Symbol_table *symtab,Layout *layout,
          type_16 *var_27)

{
  _Rb_tree_header *p_Var1;
  type_1 *pp_Var2;
  char var_75;
  type_2 var_72;
  type_3 var_38;
  type_2 uVar6;
  type_4 *var_30;
  type_5 *var_53;
  type_6 __position;
  type_7 var_61;
  type_8 *pCVar9;
  type_1 p_Var10;
  type_9 *pGVar11;
  type_1 p_Var12;
  type_7 var_49;
  type_7 var_52;
  type_7 var_51;
  type_7 var_62;
  type_7 var_48;
  type_10 *var_56;
  type_7 var_63;
  type_7 pcVar20;
  type_11 *p_Var21;
  type_12 uVar22;
  type_12 uVar23;
  type_12 uVar24;
  bool bVar25;
  bool bVar26;
  bool bVar27;
  type_13 *pPVar28;
  type_14 SVar29;
  type_15 oVar30;
  bool bVar31;
  int iVar32;
  void *pvVar33;
  void *pvVar34;
  type_16 *format;
  size_t sVar35;
  type_17 *puVar36;
  type_6 iVar37;
  type_18 *var_21;
  type_19 *p_Var39;
  type_20 *__node;
  type_17 var_34;
  char *pcVar41;
  type_7 var_66;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,var_46::var_1<var_2>var_3>var_4
  *var_5;
  type_21 *rr;
  type_22 *var_77;
  type_23 *pRVar45;
  char *pcVar46;
  type_24 var_36;
  long lVar48;
  type_1 p_Var49;
  type_1 p_Var50;
  var_1<var_2> *extraout_RDX;
  var_1<var_2> *extraout_RDX_00;
  var_1<var_2> *var_82;
  var_1<var_2> *__a_00;
  var_1<var_2> *__a_01;
  var_1<var_2> *extraout_RDX_01;
  type_7 var_64;
  var_1<var_2> *extraout_RDX_02;
  var_1<var_2> *extraout_RDX_03;
  var_1<var_2> *extraout_RDX_04;
  var_1<var_2> *extraout_RDX_05;
  type_17 var_33;
  type_17 var_32;
  type_25 __pos;
  var_6<64> *pSVar54;
  type_7 var_74;
  type_2 *var_84;
  type_2 var_23;
  type_24 *pbVar58;
  type_24 *name;
  type_26 __n;
  var_7<64,var_59> *pSVar59;
  type_26 __n_00;
  type_24 *pbVar60;
  type_27 sh_size;
  type_2 var_39;
  type_7 var_65;
  type_2 var_43;
  type_2 var_37;
  type_1 p_Var65;
  type_17 var_31;
  var_6<64> *pSVar67;
  bool bVar68;
  bool var_68;
  bool bVar70;
  type_24 bVar71;
  type_28 SVar72;
  var_8<var_9::var_1<var_10>var_3> *local_270;
  type_29 *var_26;
  uint64_t local_238;
  bool local_230;
  type_30 local_228;
  type_16 *var_25;
  type_31 *local_210;
  type_30 local_200;
  type_10 *var_24;
  type_32 *var_35;
  type_17 var_87;
  type_16 *local_1c0;
  var_6<64> *var_44;
  var_11<> var_12;
  type_2 i;
  type_14 shdr;
  _Head_base<0,_const_std::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>&,var_59>
  var_13;
  vector<var_14,_std::var_1<var_14>var_3> var_15;
  vector<var_14,_std::var_1<var_14>var_3> var_16;
  vector<var_14,_std::var_1<var_14>var_3> var_17;
  vector<var_14,_std::var_1<var_14>var_3> var_18;
  type_14 shdr_2;
  type_33 auStack_e8 [16];
  vector<var_10,_std::var_1<var_10>var_3> var_19;
  type_15 var_79;
  type_2 local_a0;
  type_34 uStack_9c;
  type_33 var_80 [20];
  type_12 local_84;
  type_32 local_7c [4];
  type_2 uStack_78;
  type_27 EStack_74;
  type_35 local_6c;
  type_36 EStack_64;
  type_27 local_5c;
  type_12 uStack_54;
  type_27 local_4c;
  type_27 EStack_44;
  
  bVar71 = 0;
  if (parameters->target_ == (type_37 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_20("../../gold/parameters.h",0x69,"target");
  }
  var_21 = parameters->options_;
  var_23 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.shnum_;
  var_72 = *(type_2 *)(*(long *)(parameters->target_ + 8) + 0x7c);
  if (var_21 == (type_18 *)0x0) goto LAB_001db857;
  if ((var_21->gc_sections_).value == false) {
    if (var_21->icf_status_ == var_22) {
      if (layout->unique_segment_for_sections_specified_ == false) {
        if (var_23 == 0) {
          return;
        }
        var_87 = var_27->section_names_size;
        var_35 = var_27->section_headers->data_;
        var_24 = var_27->symbols;
        if (var_24 != (type_10 *)0x0) {
          var_24 = (type_10 *)var_24->data_;
        }
        local_200 = var_27->symbols_size;
        var_25 = (type_16 *)var_27->symbol_names;
        if (var_25 != (type_16 *)0x0) {
          var_25 = (type_16 *)var_25->section_names_size;
        }
        bVar25 = false;
        bVar26 = false;
        local_228 = var_27->symbol_names_size;
        var_26 = (type_29 *)0x0;
        local_1c0 = (type_16 *)var_27->section_names->data_;
        bVar27 = false;
        format = var_27;
        goto LAB_001da266;
      }
      var_26 = (this->super_Sized_relobj<64,var_59>).super_Relobj.sd_;
      if (var_26 != (type_29 *)0x0) goto LAB_001da1f0;
    }
    else {
      var_26 = (this->super_Sized_relobj<64,var_59>).super_Relobj.sd_;
      if (var_26 != (type_29 *)0x0) goto LAB_001db71f;
    }
  }
  else {
    var_26 = (this->super_Sized_relobj<64,var_59>).super_Relobj.sd_;
    if (var_26 != (type_29 *)0x0) {
      if (symtab->gc_->is_worklist_ready_ == false) {
                    /* WARNING: Subroutine does not return */
        var_20("../../gold/object.cc",0x59d,"do_layout");
      }
      if (var_21->icf_status_ != var_22) {
LAB_001db71f:
        if (symtab->icf_->icf_ready_ == false) {
                    /* WARNING: Subroutine does not return */
          var_20("../../gold/object.cc",0x59f,"do_layout");
        }
      }
LAB_001da1f0:
      if (var_23 == 0) {
        return;
      }
      bVar25 = true;
      bVar26 = true;
      var_35 = var_26->section_headers_data;
      var_24 = (type_10 *)var_26->symbols_data;
      bVar27 = false;
      local_200 = var_26->symbols_size;
      var_87 = var_26->section_names_size;
      local_228 = var_26->symbol_names_size;
      var_25 = (type_16 *)var_26->symbol_names_data;
      local_1c0 = (type_16 *)var_26->section_names_data;
      format = var_25;
      goto LAB_001da266;
    }
  }
  if (var_27 == (type_16 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_20("../../gold/object.cc",0x597,"do_layout");
  }
  if (var_23 == 0) {
    return;
  }
  var_26 = (type_29 *)var_28(0x40);
  Relobj::var_29((type_23 *)this,var_26,var_27,var_23 << 6);
  var_35 = var_26->section_headers_data;
  (this->super_Sized_relobj<64,var_59>).super_Relobj.sd_ = var_26;
  var_24 = (type_10 *)var_26->symbols_data;
  var_87 = var_26->section_names_size;
  local_200 = var_26->symbols_size;
  var_25 = (type_16 *)var_26->symbol_names_data;
  var_21 = parameters->options_;
  local_228 = var_26->symbol_names_size;
  local_1c0 = (type_16 *)var_26->section_names_data;
  if (var_21 == (type_18 *)0x0) {
LAB_001db857:
                    /* WARNING: Subroutine does not return */
    var_20("../../gold/parameters.h",0x5c,"options");
  }
  bVar25 = true;
  bVar26 = false;
  bVar27 = true;
  format = local_1c0;
LAB_001da266:
  var_30 = var_21->plugins_;
  var_36 = 0;
  if ((var_30 != (type_4 *)0x0) && (var_36 = var_30->any_claimed_, (bool)var_36 != false)) {
    var_36 = var_30->in_replacement_phase_ ^ 1;
  }
  var_31 = (type_17)var_23;
  pvVar33 = var_28(var_31 * 4);
  var_33 = 0;
  do {
    var_32 = var_33;
    var_33 = var_32 + 1;
    *(type_34 *)((long)pvVar33 + var_32 * 4) = 0;
  } while (var_31 != var_33);
                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */
  pvVar34 = var_28(var_31 * 4);
  iVar32 = (int)format;
  var_34 = 0;
  do {
    *(type_34 *)((long)pvVar34 + var_34 * 4) = 0;
    var_68 = var_32 != var_34;
    var_34 = var_34 + 1;
  } while (var_68);
  pSVar54 = (var_6<64> *var_69)(var_35 + 0x40);
  if (var_23 < 2) {
    var_37 = 0;
  }
  else {
    var_43 = 1;
    var_37 = 0;
    var_44 = pSVar54;
    do {
      if (var_36 != 0) {
        var_37 = (var_37 + 1) - (type_2)((var_44->sh_flags & 2) == 0);
      }
      var_38 = var_44->sh_type;
      if ((var_38 == 9) || (var_38 == 4)) {
        var_39 = var_44->sh_info;
        if (0xfeff < var_39) {
                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */
          elfcpp::Elf_file<64,var_59,_gold::type_38>::var_40(&this->elf_file_);
          var_39 = var_39 + (this->elf_file_).large_shndx_offset_;
        }
        var_34 = (type_17)var_39;
        if ((var_39 == 0) || (var_23 <= var_39)) {
          format = (type_16 *)var_41("relocation section %u has bad info %u");
          Object::var_42((type_38 *)this,(char *)format,(type_17)var_43,var_34);
        }
        else {
          var_84 = (type_2 *)((long)pvVar33 + var_34 * 4);
          if (*var_84 == 0) {
            *var_84 = var_43;
            *(type_3 *)((long)pvVar34 + var_34 * 4) = var_38;
          }
          else {
            *var_84 = 0xffffffff;
          }
        }
      }
      iVar32 = (int)format;
      var_43 = var_43 + 1;
      var_44 = var_44 + 1;
    } while (var_43 != var_23);
  }
  if (!bVar26) {
    var_49 = (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
               super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>.
               _M_impl._M_finish;
    var_48 = (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
               super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>.
               _M_impl._M_start;
    var_34 = (long)var_49 - (long)var_48 >> 3;
    if (var_34 < var_33) {
      __n = var_33 - var_34;
      var_9::vector<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>::var_47
                (&(this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_,__n);
      iVar32 = (int)__n;
    }
    else if ((var_33 < var_34) && (var_48 = var_48 + var_33, var_49 != var_48)) {
      (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
      super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>._M_impl.
      _M_finish = var_48;
    }
    var_52 = (this->super_Sized_relobj<64,var_59>).section_offsets_.
              super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl.
              _M_finish;
    var_51 = (this->super_Sized_relobj<64,var_59>).section_offsets_.
              super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl.
              _M_start;
    var_34 = (long)var_52 - (long)var_51 >> 3;
    if (var_34 < var_33) {
      __n_00 = var_33 - var_34;
                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */
      std::vector<var_50,var_46::var_1<var_50>var_3>::var_47
                (&(this->super_Sized_relobj<64,var_59>).section_offsets_,__n_00);
      iVar32 = (int)__n_00;
    }
    else if ((var_33 < var_34) && (var_51 = var_51 + var_33, var_52 != var_51)) {
      (this->super_Sized_relobj<64,var_59>).section_offsets_.
      super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl._M_finish =
           var_51;
    }
  }
  var_53 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.input_file_;
  if (var_53 == (type_5 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */
    Object::var_54((type_38 *)0x0);
  }
  local_230 = type_5::var_55(var_53);
  if (local_230) {
    if (!bVar26) {
      var_56 = var_27->section_headers;
      if (var_56 != (type_10 *)0x0) {
        File_view::~type_10(var_56,iVar32);
        iVar32 = 0x18;
        var_57(var_56,0x18);
      }
      var_56 = var_27->section_names;
      var_27->section_headers = (type_10 *)0x0;
      if (var_56 != (type_10 *)0x0) {
        File_view::~type_10(var_56,iVar32);
        var_57(var_56,0x18);
      }
      var_27->section_names = (type_10 *)0x0;
    }
  }
  else {
    if (var_37 != 0) {
      if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
        var_20("../../gold/parameters.h",0x5c,"options");
      }
      var_30 = parameters->options_->plugins_;
      __position._M_current =
           (var_30->deferred_layout_objects_).
           super__Vector_base<var_45::type_23*,var_46::var_1<var_45::type_23*>var_3>._M_impl._M_finish;
      shdr.p_ = (var_6<64> *)this;
      if (__position._M_current ==
          (var_30->deferred_layout_objects_).
          super__Vector_base<var_45::type_23*,var_46::var_1<var_45::type_23*>var_3>._M_impl.
          _M_end_of_storage) {
        var_9::vector<var_45::type_23*,var_46::var_1<var_45::type_23*>var_3>::
        _M_realloc_insert<var_45::type_23*var_58&>
                  (&var_30->deferred_layout_objects_,__position,(type_23 **)&shdr);
      }
      else {
        *__position._M_current = (type_23 *)this;
        (var_30->deferred_layout_objects_).
        super__Vector_base<var_45::type_23*,var_46::var_1<var_45::type_23*>var_3>._M_impl._M_finish =
             __position._M_current + 1;
      }
      var_61 = (this->deferred_layout_).
               super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
               ._M_impl._M_start;
      var_33 = (type_17)var_37;
      if ((type_17)(((long)(this->deferred_layout_).
                         super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                         ._M_impl._M_end_of_storage - (long)var_61 >> 4) * 0x6db6db6db6db6db7) <
          var_33) {
        var_62 = (this->deferred_layout_).
                  super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                  ._M_impl._M_finish;
                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */
        var_66 = (type_7)var_28(var_33 * 0x70);
        if (var_61 != var_62) {
          var_5 = &(var_61->name_).field_2;
          var_64 = var_66;
          do {
            (var_64->name_)._M_dataplus._M_p = (type_7)&(var_64->name_).field_2;
            var_63 = (((type_39 *)(var_5 + -1))->_M_dataplus)._M_p;
            if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>var_4
                 *)var_63 == var_5) {
              uVar23 = *(type_12 *)((long)var_5 + 8);
              (var_64->name_).field_2._M_allocated_capacity = var_5->_M_allocated_capacity;
              *(type_12 *)((long)&(var_64->name_).field_2 + 8) = uVar23;
            }
            else {
              (var_64->name_)._M_dataplus._M_p = var_63;
              (var_64->name_).field_2._M_allocated_capacity = var_5->_M_allocated_capacity;
            }
            var_65 = var_64 + 1;
            (var_64->name_)._M_string_length = *(type_26 *)((long)var_5 + -8);
            var_37 = *(type_2 *)(var_5 + 1);
            (((type_39 *)(var_5 + -1))->_M_dataplus)._M_p = (type_7)var_5;
            *(type_26 *)((long)var_5 + -8) = 0;
            var_5->_M_local_buf[0] = '\0';
            var_64->shndx_ = var_37;
            var_64->reloc_shndx_ = *(type_2 *)((long)var_5 + 0x14);
            var_64->reloc_type_ = *(type_2 *)((long)var_5 + 0x18);
            uVar23 = *(type_12 *)((long)var_5 + 0x24);
            *(type_12 *)var_64->shdr_data_ = *(type_12 *)((long)var_5 + 0x1c);
            *(type_12 *)(var_64->shdr_data_ + 8) = uVar23;
            uVar23 = *(type_12 *)((long)var_5 + 0x34);
            *(type_12 *)(var_64->shdr_data_ + 0x10) = *(type_12 *)((long)var_5 + 0x2c);
            *(type_12 *)(var_64->shdr_data_ + 0x18) = uVar23;
            uVar23 = *(type_12 *)((long)var_5 + 0x44);
            *(type_12 *)(var_64->shdr_data_ + 0x20) = *(type_12 *)((long)var_5 + 0x3c);
            *(type_12 *)(var_64->shdr_data_ + 0x28) = uVar23;
            uVar23 = *(type_12 *)((long)var_5 + 0x54);
            *(type_12 *)(var_64->shdr_data_ + 0x30) = *(type_12 *)((long)var_5 + 0x4c);
            *(type_12 *)(var_64->shdr_data_ + 0x38) = uVar23;
            var_5 = var_5 + 7;
            var_64 = var_65;
          } while (var_65 !=
                   var_66 + (((type_17)((long)var_62 + (-0x70 - (long)var_61)) >> 4) *
                              0xdb6db6db6db6db7 & 0xfffffffffffffff) + 1);
        }
        var_64 = (this->deferred_layout_).
                  super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                  ._M_impl._M_finish;
        var_65 = (this->deferred_layout_).
                  super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                  ._M_impl._M_start;
        if (var_64 != var_65) {
          do {
            var_63 = (var_65->name_)._M_dataplus._M_p;
            if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>var_4
                 *)var_63 != &(var_65->name_).field_2) {
              var_57(var_63);
            }
            var_65 = var_65 + 1;
          } while (var_64 != var_65);
          var_65 = (this->deferred_layout_).
                    super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                    ._M_impl._M_start;
        }
        if (var_65 != (type_7)0x0) {
          var_57(var_65);
        }
        (this->deferred_layout_).
        super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
        ._M_impl._M_start = var_66;
        (this->deferred_layout_).
        super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
        ._M_impl._M_finish = (type_7)(((long)var_62 - (long)var_61) + (long)var_66);
        (this->deferred_layout_).
        super__Vector_base<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
        ._M_impl._M_end_of_storage = var_66 + var_33;
      }
      this->is_deferred_layout_ = true;
    }
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_p = (type_40 *)0x0;
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_offset = 0;
    var_33 = var_32 + 0x40 >> 6;
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_p = (type_40 *)0x0;
    var_32 = var_33 * 8;
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_offset = 0;
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data.
    _M_end_of_storage = (type_41)0x0;
                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_p = (type_40 *)var_28(var_32);
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data.
    _M_end_of_storage =
         var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start.
         super__Bit_iterator_base._M_p + var_33;
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start.
    super__Bit_iterator_base._M_offset = 0;
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_p =
         var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start.
         super__Bit_iterator_base._M_p + ((long)var_31 >> 6);
    var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_finish.
    super__Bit_iterator_base._M_offset = var_23 & 0x3f;
    var_79 = (type_15)var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data
                    ._M_finish.super__Bit_iterator_base._M_p;
    local_a0 = var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data.
               _M_finish.super__Bit_iterator_base._M_offset;
    var_67(var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data._M_start
           .super__Bit_iterator_base._M_p,0,var_32);
    var_21 = parameters->options_;
    if (var_21 == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */
      var_20("../../gold/parameters.h",0x5c,"options");
    }
    var_68 = (var_21->relocatable_).value;
    var_75 = var_68;
    if (var_68 == false) {
      var_75 = (var_21->emit_relocs_).value;
    }
    var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl._M_start
         = (type_7)0x0;
    var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl._M_finish
         = (type_7)0x0;
    var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_end_of_storage = (type_7)0x0;
    var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_start = (type_7)0x0;
    var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_finish = (type_7)0x0;
    var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_end_of_storage = (type_7)0x0;
    var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_start = (type_7)0x0;
    var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_finish = (type_7)0x0;
    var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_end_of_storage = (type_7)0x0;
    var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_start = (type_7)0x0;
    var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_finish = (type_7)0x0;
    var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
    _M_end_of_storage = (type_7)0x0;
    i = 1;
    if (var_23 < 2) {
      local_238 = 0;
      var_82 = extraout_RDX_00;
LAB_001da530:
      local_270 = &var_19.super__Bvector_base<var_9::var_1<var_10>var_3>var_69;
      if (!bVar26) {
                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */
        Layout::var_70(layout,(type_38 *)this);
        Layout::var_71(layout,local_230,local_238,(type_38 *)this);
        var_82 = extraout_RDX;
      }
      if (bVar27) {
        if (var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_start !=
            var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_finish) {
                    /* WARNING: Subroutine does not return */
          var_20("../../gold/object.cc",0x751,"do_layout");
        }
      }
      else if (var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
               _M_impl._M_start !=
               var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
               _M_impl._M_finish) {
        var_74 = var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                  _M_impl._M_start;
        do {
          var_72 = *var_74;
          var_79 = (type_15)(var_35 + (var_72 << 6));
          var_73
                    (this,layout,(type_32 *)var_24,local_200,(type_32 *)var_25,local_228,var_72,
                     (type_14 *)&var_79,*(type_2 *)((long)pvVar33 + (type_17)var_72 * 4),
                     *(type_2 *)((long)pvVar34 + (type_17)var_72 * 4));
          var_74 = var_74 + 1;
          var_82 = extraout_RDX_01;
        } while (var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                 _M_impl._M_finish != var_74);
      }
      if (var_75 != '\0') {
                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */
        Relobj::var_76((type_23 *)this);
        var_82 = extraout_RDX_05;
      }
      pSVar59 = (var_7<64,var_59> *)
                var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                _M_impl._M_start;
      if (bVar25) {
        if (var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
            _M_start !=
            var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
            _M_finish) {
                    /* WARNING: Subroutine does not return */
          var_20("../../gold/object.cc",0x76c,"do_layout");
        }
      }
      else if (var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
               _M_impl._M_start !=
               var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
               _M_impl._M_finish) {
        var_44 = (var_6<64> *)
                    var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                    _M_impl._M_start;
        do {
          var_72 = var_44->sh_name;
          var_33 = (type_17)var_72;
          pSVar54 = (var_6<64> *var_69)(var_35 + (var_72 << 6));
          var_37 = pSVar54->sh_info;
          shdr_2.p_ = pSVar54;
          if (0xfeff < var_37) {
            elfcpp::Elf_file<64,var_59,_gold::type_38>::var_40(&this->elf_file_);
            var_37 = var_37 + (this->elf_file_).large_shndx_offset_;
            var_82 = extraout_RDX_02;
          }
          if (var_37 < var_23) {
            var_48 = (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                       super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                       ._M_impl._M_start;
            var_77 = var_48[var_37];
            if (var_77 == (type_22 *)0x2) {
              if (!bVar26) {
                var_38 = (shdr_2.p_)->sh_type;
                var_9::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>::
                basic_string((basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3> *)
                             &var_79,(char *)((long)&local_1c0->section_headers +
                                             (type_17)(shdr_2.p_)->sh_name),var_82);
                local_84._0_4_ = 0;
                local_84._4_4_ = 0;
                uVar24._0_4_ = pSVar54->sh_name;
                uVar24._4_4_ = pSVar54->sh_type;
                EStack_74 = pSVar54->sh_flags;
                local_6c = pSVar54->sh_addr;
                EStack_64 = pSVar54->sh_offset;
                local_5c = pSVar54->sh_size;
                uStack_54 = *(type_12 *)&pSVar54->sh_link;
                local_4c = pSVar54->sh_addralign;
                EStack_44 = pSVar54->sh_entsize;
                local_7c = var_78(uVar24,0);
                uStack_78 = var_38;
                pSVar59 = (var_7<64,var_59> *var_69)&var_79;
                var_80._16_4_ = var_72;
                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */
                std::
                vector<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                ::emplace_back<var_45::var_7<64,var_59>::var_60>
                          (&this->deferred_layout_relocs_,(var_60 *)&var_79);
                var_82 = extraout_RDX_03;
                if ((type_33 *)var_79 != var_80) {
                  var_57((void *)var_79);
                  var_82 = extraout_RDX_04;
                }
                (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>.
                _M_impl._M_start[var_33] = (type_22 *)0x2;
                (this->super_Sized_relobj<64,var_59>).section_offsets_.
                super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl.
                _M_start[var_33] = 0xffffffffffffffff;
              }
            }
            else if (var_77 == (type_22 *)0x0) {
              var_48[var_33] = (type_22 *)0x0;
              (this->super_Sized_relobj<64,var_59>).section_offsets_.
              super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl.
              _M_start[var_33] = 0xffffffffffffffff;
            }
            else {
              rr = (type_21 *)var_28(0x28);
              (rr->reloc_strategies_).
              super__Vector_base<var_81,var_46::var_1<var_81>var_3>._M_impl._M_start =
                   (type_7)0x0;
              (rr->reloc_strategies_).
              super__Vector_base<var_81,var_46::var_1<var_81>var_3>._M_impl._M_finish =
                   (type_7)0x0;
              (rr->reloc_strategies_).
              super__Vector_base<var_81,var_46::var_1<var_81>var_3>._M_impl.
              _M_end_of_storage = (type_7)0x0;
              rr->output_reloc_count_ = 0;
              rr->posd_ = (type_42 *)0x0;
              if ((this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.shnum_ <= var_72) {
                    /* WARNING: Subroutine does not return */
                var_20("../../gold/object.h",0x541,"set_relocatable_relocs");
              }
              (((this->super_Sized_relobj<64,var_59>).super_Relobj.map_to_relocatable_relocs_)->
              super__Vector_base<var_45::type_21*,var_46::var_1<var_45::type_21*>var_3>var_69
              )._M_impl._M_start[var_33] = rr;
              pSVar59 = this;
              var_77 = Layout::layout_reloc<64,var_59>(layout,this,var_72,&shdr_2,var_77,rr);
              var_82 = (var_1<var_2> *)
                    (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                    super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                    ._M_impl._M_start;
              *(type_22 **)(var_82 + var_33 * 8) = var_77;
              (this->super_Sized_relobj<64,var_59>).section_offsets_.
              super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl.
              _M_start[var_33] = 0xffffffffffffffff;
            }
          }
          var_44 = (var_6<64> *var_69)((long)var_44 + 4);
        } while ((var_6<64> *)
                 var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                 _M_impl._M_finish != var_44);
      }
      var_23 = (type_2)pSVar59;
      if (bVar27) {
        if ((var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
             _M_impl._M_finish !=
             var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
             _M_impl._M_start) ||
           (var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_finish !=
            var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_start)) {
                    /* WARNING: Subroutine does not return */
          var_20("../../gold/object.cc",0x7a0,"do_layout");
        }
      }
      else {
        var_74 = var_17.
                  super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl._M_start;
        if (var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_finish !=
            var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_start) {
          do {
            var_72 = *var_74;
            var_23 = *(type_2 *)((long)pvVar33 + (type_17)var_72 * 4);
                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */
            Layout::var_83<64,var_59>
                      (layout,false,&this->super_Sized_relobj<64,var_59>var_69,(type_32 *)var_24,
                       local_200,var_72,var_23,*(type_2 *)((long)pvVar34 + (type_17)var_72 * 4));
            var_74 = var_74 + 1;
          } while (var_17.
                   super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl._M_finish
                   != var_74);
        }
        var_84 = var_18.
                  super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl._M_start;
        if (var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_start !=
            var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
            _M_impl._M_finish) {
          do {
            var_72 = *var_84;
            var_23 = 1;
            Layout::var_83<64,var_59>
                      (layout,true,&this->super_Sized_relobj<64,var_59>var_69,(type_32 *)var_24,local_200
                       ,var_72,*(type_2 *)((long)pvVar33 + (type_17)var_72 * 4),
                       *(type_2 *)((long)pvVar34 + (type_17)var_72 * 4));
            var_84 = var_84 + 1;
          } while (var_18.
                   super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl._M_finish
                   != var_84);
        }
      }
      if (bVar26) {
        if (var_26->section_headers_data != (type_32 *)0x0) {
          var_85(var_26->section_headers_data);
        }
        if (var_26->section_names_data != (type_32 *)0x0) {
          var_85(var_26->section_names_data);
        }
        if (var_26->symbols_data != (type_32 *)0x0) {
          var_85(var_26->symbols_data);
        }
        if (var_26->symbol_names_data != (type_32 *)0x0) {
          var_85(var_26->symbol_names_data);
        }
        (this->super_Sized_relobj<64,var_59>).super_Relobj.sd_ = (type_29 *)0x0;
      }
      else {
        var_56 = var_27->section_headers;
        if (var_56 != (type_10 *)0x0) {
          File_view::~type_10(var_56,var_23);
          var_23 = 0x18;
          var_57(var_56,0x18);
        }
        var_56 = var_27->section_names;
        var_27->section_headers = (type_10 *)0x0;
        if (var_56 != (type_10 *)0x0) {
          File_view::~type_10(var_56,var_23);
          var_57(var_56,0x18);
        }
        var_27->section_names = (type_10 *)0x0;
      }
      if (var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
          _M_impl._M_start != (type_7)0x0) {
        var_57(var_18.
                        super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                        _M_start);
      }
      if (var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
          _M_impl._M_start != (type_7)0x0) {
        var_57(var_17.
                        super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                        _M_start);
      }
      if (var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
          _M_start != (type_7)0x0) {
        var_57(var_16.
                        super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                        _M_start);
      }
      if (var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
          _M_start != (type_7)0x0) {
        var_57(var_15.
                        super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                        _M_start);
      }
      std::var_8<var_9::var_1<var_10>var_3>::var_86(local_270);
      var_57(pvVar34);
      var_57(pvVar33);
      return;
    }
    var_37 = *(type_2 *)(var_35 + 0x44);
    var_33 = (type_17)*(type_2 *)(var_35 + 0x40);
    shdr.p_ = pSVar54;
    if (var_33 < var_87) {
      var_82 = (var_1<var_2> *)0x1;
      local_238 = 0;
      do {
        local_270 = &var_19.super__Bvector_base<var_9::var_1<var_10>var_3>;
        name = (type_24 *)((long)&local_1c0->section_headers + var_33);
        shdr.p_ = pSVar54;
        if (bVar26) {
LAB_001da9c0:
          if (bVar27) {
            if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
              var_20("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->gc_sections_).value != false) {
              bVar31 = type_23::is_section_name_included((type_23 *)this,(char *)name);
                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */
              if (((bVar31) ||
                  (bVar31 = Layout::keep_input_section(layout,(type_23 *)this,(char *)name), bVar31))
                 || (var_37 - 0xe < 2)) {
                local_a0 = i;
                var_79 = (type_15)this;
                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */
                var_9::
                vector<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_3>
                ::emplace_back<var_9::pair<var_45::type_23*,_unsigned_int>var_3>
                          (&symtab->gc_->work_list_,(pair<var_45::type_23*,_unsigned_int> *var_69)&var_79);
              }
              sVar35 = strspn((char *)name,
                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");
              var_43 = i;
              if (name[sVar35] == 0) {
                pGVar11 = symtab->gc_;
                var_9::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>::
                basic_string((basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3> *)
                             &var_79,(char *)name,__a_00);
                oVar30 = var_79;
                p_Var12 = (pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header.
                          _M_parent;
                __pos._M_node =
                     &(pGVar11->cident_sections_)._M_t._M_impl.super__Rb_tree_header._M_header;
                shdr_2.p_ = (var_6<64> *)this;
                if (p_Var12 == (type_1)0x0) {
LAB_001db58d:
                  var_13._M_head_impl =
                       (basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3> *var_69)&var_79;
                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */
                  var_44 = (var_6<64> *)
                              var_9::
                              _Rb_tree<var_9::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>,var_46::pair<const_std::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>,var_46::unordered_set<var_9::pair<var_45::type_23*,_unsigned_int>,_gold::Section_id_hash,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_3>var_3>,var_46::_Select1st<var_9::pair<const_std::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>,var_46::unordered_set<var_9::pair<var_45::type_23*,_unsigned_int>,_gold::Section_id_hash,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_3>var_3>var_3>,var_46::less<var_9::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>var_3>,var_46::var_1<var_9::pair<const_std::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>,var_46::unordered_set<var_9::pair<var_45::type_23*,_unsigned_int>,_gold::Section_id_hash,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_3>var_3>var_3>var_3>
                              ::
                              _M_emplace_hint_unique<const_std::piecewise_construct_t&,var_46::var_11<const_std::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>&>,var_46::var_11<>var_3>
                                        (&(pGVar11->cident_sections_)._M_t,__pos,
                                         (piecewise_construct_t *)&var_9::piecewise_construct,
                                         (var_11<const_std::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>&>
                                          *)&var_13,&var_12);
                }
                else {
                  p_Var10 = (type_1)CONCAT44(uStack_9c,local_a0);
                  var_44 = (var_6<64> *)__pos._M_node;
                  do {
                    while( true ) {
                      p_Var65 = p_Var12;
                      p_Var49 = p_Var65[1]._M_parent;
                      p_Var50 = p_Var10;
                      if (p_Var49 <= p_Var10) {
                        p_Var50 = p_Var49;
                      }
                      if ((p_Var50 != (type_1)0x0) &&
                         (iVar32 = memcmp(*(void **)(p_Var65 + 1),(void *)oVar30,(size_t)p_Var50),
                         iVar32 != 0)) break;
                      lVar48 = (long)p_Var49 - (long)p_Var10;
                      if (lVar48 < 0x80000000) {
                        if (-0x80000001 < lVar48) {
                          iVar32 = (int)lVar48;
                          break;
                        }
                        goto LAB_001db4b0;
                      }
LAB_001db4fa:
                      p_Var12 = p_Var65->_M_left;
                      var_44 = (var_6<64> *)p_Var65;
                      if (p_Var65->_M_left == (type_1)0x0) goto LAB_001db50a;
                    }
                    if (-1 < iVar32) goto LAB_001db4fa;
LAB_001db4b0:
                    p_Var12 = p_Var65->_M_right;
                  } while (p_Var65->_M_right != (type_1)0x0);
LAB_001db50a:
                  bVar31 = (var_6<64> *)__pos._M_node == var_44;
                  __pos._M_node = (type_1)var_44;
                  if (bVar31) goto LAB_001db58d;
                  p_Var49 = ((type_1)((long)var_44 + 0x20))->_M_parent;
                  p_Var50 = p_Var49;
                  if (p_Var10 <= p_Var49) {
                    p_Var50 = p_Var10;
                  }
                  if ((p_Var50 == (type_1)0x0) ||
                     (iVar32 = memcmp((void *)oVar30,*(void **)((long)var_44 + 0x20),
                                      (size_t)p_Var50), iVar32 == 0)) {
                    lVar48 = (long)p_Var10 - (long)p_Var49;
                    if (lVar48 < 0x80000000) {
                      if (lVar48 < -0x80000000) goto LAB_001db58d;
                      iVar32 = (int)lVar48;
                      goto LAB_001db589;
                    }
                  }
                  else {
LAB_001db589:
                    if (iVar32 < 0) goto LAB_001db58d;
                  }
                }
                var_31 = (type_17)var_43 ^ (type_17)this;
                var_33 = var_31 % (type_17)((type_1)((long)var_44 + 0x40))->_M_parent;
                p_Var39 = var_9::
                          _Hashtable<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::__detail::_Identity,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,_gold::Section_id_hash,var_46::__detail::_Mod_range_hashing,var_46::__detail::_Default_ranged_hash,var_46::__detail::_Prime_rehash_policy,var_46::__detail::_Hashtable_traits<true,_true,_true>var_3>
                          ::_M_find_before_node
                                    ((_Hashtable<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::__detail::_Identity,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,_gold::Section_id_hash,var_46::__detail::_Mod_range_hashing,var_46::__detail::_Default_ranged_hash,var_46::__detail::_Prime_rehash_policy,var_46::__detail::_Hashtable_traits<true,_true,_true>var_3>
                                      *var_69)((long)var_44 + 0x40),var_33,(key_type *)&shdr_2,var_31);
                if ((p_Var39 == (type_19 *)0x0) || (p_Var39->_M_nxt == (_Hash_node_base *)0x0))
                {
                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */
                  __node = (type_20 *)var_28(0x20);
                  (__node->super__Hash_node_value_base<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_69).
                  _M_storage._M_storage.__align = (anon_struct_8_0_00000001_for___align)this;
                  (__node->super__Hash_node_value_base<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_69).
                  super__Hash_node_base._M_nxt = (_Hash_node_base *)0x0;
                  *(type_2 *)((long)&(__node->
                                   super__Hash_node_value_base<var_9::pair<var_45::type_23*,_unsigned_int>var_3>var_69
                                   )._M_storage._M_storage + 8) = var_43;
                  var_9::
                  _Hashtable<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::__detail::_Identity,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,_gold::Section_id_hash,var_46::__detail::_Mod_range_hashing,var_46::__detail::_Default_ranged_hash,var_46::__detail::_Prime_rehash_policy,var_46::__detail::_Hashtable_traits<true,_true,_true>var_3>
                  ::_M_insert_unique_node
                            ((_Hashtable<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::__detail::_Identity,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,_gold::Section_id_hash,var_46::__detail::_Mod_range_hashing,var_46::__detail::_Default_ranged_hash,var_46::__detail::_Prime_rehash_policy,var_46::__detail::_Hashtable_traits<true,_true,_true>var_3>
                              *var_69)((long)var_44 + 0x40),var_33,var_31,__node,1);
                }
                if ((type_33 *)var_79 != var_80) {
                  var_57((void *)var_79);
                }
              }
            }
          }
          if ((var_75 == '\0') || ((var_37 != 9 && (var_37 != 4)))) {
            if ((var_37 != 0x11) || (var_68 == false)) {
              bVar31 = check_eh_frame_flags(this,&shdr);
              var_43 = i;
              bVar68 = false;
              bVar31 = !bVar31;
              if (!bVar31) {
                lVar48 = 10;
                pbVar58 = name;
                pbVar60 = (type_24 *)".eh_frame";
                do {
                  if (lVar48 == 0) break;
                  lVar48 = lVar48 + -1;
                  bVar68 = *pbVar58 < *pbVar60;
                  bVar31 = *pbVar58 == *pbVar60;
                  pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
                  pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
                } while (bVar31);
                if (((!bVar68 && !bVar31) == bVar68) && (var_37 = var_72, var_68 == false)) {
                  if (bVar27) {
                    (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                    super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                    ._M_impl._M_start[i] =
                         (type_22 *)((type_17)(this->is_deferred_layout_ != false) + 1);
                    (this->super_Sized_relobj<64,var_59>).section_offsets_.
                    super__Vector_base<var_50,var_46::var_1<var_50>var_3>.
                    _M_impl._M_start[i] = 0xffffffffffffffff;
                  }
                  else if (this->is_deferred_layout_ == false) {
                    std::vector<var_14,var_46::var_1<var_14>var_3>::push_back
                              (&var_16,&i);
                  }
                  else {
                    var_37 = *(type_2 *)((long)pvVar33 + (type_17)i * 4);
                    var_39 = *(type_2 *)((long)pvVar34 + (type_17)i * 4);
                    var_9::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>
                    ::basic_string((basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>
                                    *)&var_79,(char *)name,__a_01);
                    var_80._16_4_ = var_43;
                    local_84._4_4_ = var_39;
                    local_84._0_4_ = var_37;
                    uVar23._0_4_ = pSVar54->sh_name;
                    uVar23._4_4_ = pSVar54->sh_type;
                    EStack_74 = pSVar54->sh_flags;
                    local_6c = pSVar54->sh_addr;
                    EStack_64 = pSVar54->sh_offset;
                    local_5c = pSVar54->sh_size;
                    uStack_54 = *(type_12 *)&pSVar54->sh_link;
                    local_4c = pSVar54->sh_addralign;
                    EStack_44 = pSVar54->sh_entsize;
                    local_7c = var_78(uVar23,0);
                    uStack_78 = var_72;
                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */
                    std::
                    vector<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                    ::emplace_back<var_45::var_7<64,var_59>::var_60>
                              (&this->deferred_layout_,(var_60 *)&var_79);
                    if ((type_33 *)var_79 != var_80) {
                      var_57((void *)var_79);
                    }
                  }
                  goto LAB_001daa92;
                }
              }
              if (bVar26) {
                var_21 = parameters->options_;
                if (var_21 == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                  var_20("../../gold/parameters.h",0x5c,"options");
                }
                var_33 = (type_17)i;
                var_77 = (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                          super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                          ._M_impl._M_start[var_33];
                if ((var_21->gc_sections_).value == false) {
LAB_001db162:
                  if (var_21->icf_status_ != var_22) {
                    if (var_77 == (type_22 *)0x0) {
                      if ((this->super_Sized_relobj<64,var_59>).section_offsets_.
                          super__Vector_base<var_50,var_46::var_1<var_50>var_3>.
                          _M_impl._M_start[var_33] != 0xffffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */
                        var_20("../../gold/object.cc",0x6f9,"do_layout");
                      }
                      goto LAB_001daa92;
                    }
                    var_36 = (type_24)(shdr.p_)->sh_flags;
joined_r0x001db186:
                    if ((var_36 & 2) != 0) {
                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */
                      bVar31 = Icf::is_section_folded(symtab->icf_,(type_23 *)this,i);
                      if (bVar31) {
                        if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                          var_20("../../gold/parameters.h",0x5c,"options");
                        }
                        var_33 = (type_17)i;
                        if ((parameters->options_->print_icf_sections_).value == false)
                        goto LAB_001dafa0;
                        SVar72 = Icf::get_folded_section(symtab->icf_,(type_23 *)this,i);
                        pRVar45 = SVar72.first;
                        var_63 = (pRVar45->super_Object).name_._M_dataplus._M_p;
                        (*(pRVar45->super_Object)._vptr_Object[0x10])
                                  ((var_60 *)&var_79,pRVar45,SVar72._8_8_);
                        oVar30 = var_79;
                        pcVar20 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.
                                  name_._M_dataplus._M_p;
                        p_Var21 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.
                                  _vptr_Object[0x10];
                        if (p_Var21 == do_section_name) {
                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */
                          elfcpp::Elf_file<64,var_59,_gold::type_38>::section_name
                                    ((type_39 *)&shdr_2,&this->elf_file_,i);
                        }
                        else {
                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */
                          (*p_Var21)((type_39 *)&shdr_2,this);
                        }
                        SVar29.p_ = shdr_2.p_;
                        pcVar41 = program_name;
                        pcVar46 = (char *)var_41(
                                                 "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"
                                                 );
                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */
                        gold_info(pcVar46,pcVar41,SVar29.p_,pcVar20,oVar30,var_63);
                        if (shdr_2.p_ != (var_6<64> *)auStack_e8) {
                          var_57(shdr_2.p_);
                        }
                        goto LAB_001dc237;
                      }
                      var_33 = (type_17)i;
                      var_77 = (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                                super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                                ._M_impl._M_start[var_33];
                    }
                  }
                }
                else {
                  if (var_77 == (type_22 *)0x0) {
                    if ((this->super_Sized_relobj<64,var_59>).section_offsets_.
                        super__Vector_base<var_50,var_46::var_1<var_50>var_3>.
                        _M_impl._M_start[var_33] != 0xffffffffffffffff) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */
                      var_20("../../gold/object.cc",0x6e4,"do_layout");
                    }
                    goto LAB_001daa92;
                  }
                  if (((shdr.p_)->sh_flags & 2) != 0) {
                    local_a0 = i;
                    var_79 = (type_15)this;
                    iVar37 = var_9::
                             _Hashtable<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::__detail::_Identity,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,_gold::Section_id_hash,var_46::__detail::_Mod_range_hashing,var_46::__detail::_Default_ranged_hash,var_46::__detail::_Prime_rehash_policy,var_46::__detail::_Hashtable_traits<true,_true,_true>var_3>
                             ::find((_Hashtable<var_9::pair<var_45::type_23*,_unsigned_int>,var_46::pair<var_45::type_23*,_unsigned_int>,var_46::var_1<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,var_46::__detail::_Identity,var_46::equal_to<var_9::pair<var_45::type_23*,_unsigned_int>var_3>,_gold::Section_id_hash,var_46::__detail::_Mod_range_hashing,var_46::__detail::_Default_ranged_hash,var_46::__detail::_Prime_rehash_policy,var_46::__detail::_Hashtable_traits<true,_true,_true>var_3>
                                     *var_69)&symtab->gc_->referenced_list_,(key_type *)&var_79);
                    var_21 = parameters->options_;
                    if (iVar37.
                        super__Node_iterator_base<var_9::pair<var_45::type_23*,_unsigned_int>,_true>.
                        _M_cur != (type_20 *)0x0) {
                      if (var_21 == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                        var_20("../../gold/parameters.h",0x5c,"options");
                      }
                      var_33 = (type_17)i;
                      var_77 = (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                                super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                                ._M_impl._M_start[var_33];
                      goto LAB_001db162;
                    }
                    if (var_21 == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                      var_20("../../gold/parameters.h",0x5c,"options");
                    }
                    var_33 = (type_17)i;
                    if ((var_21->print_gc_sections_).value == false) goto LAB_001dafa0;
                    var_63 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.name_.
                              _M_dataplus._M_p;
                    p_Var21 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.
                              _vptr_Object[0x10];
                    if (p_Var21 == do_section_name) {
                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */
                      elfcpp::Elf_file<64,var_59,_gold::type_38>::section_name
                                ((type_39 *)&var_79,&this->elf_file_,i);
                    }
                    else {
                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */
                      (*p_Var21)((var_60 *)&var_79,this,var_33);
                    }
                    oVar30 = var_79;
                    pcVar41 = program_name;
                    pcVar46 = (char *)var_41(
                                             "%s: removing unused section from \'%s\' in file \'%s\'"
                                             );
                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */
                    gold_info(pcVar46,pcVar41,oVar30,var_63);
LAB_001dc237:
                    if ((type_33 *)var_79 != var_80) {
                      var_57((void *)var_79);
                    }
                    goto LAB_001db6f8;
                  }
                  if (var_21->icf_status_ != var_22) {
                    var_36 = (type_24)(shdr.p_)->sh_flags;
                    goto joined_r0x001db186;
                  }
                }
                if (var_77 != (type_22 *)0x2) {
LAB_001daeca:
                  if (bVar27) {
                    (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                    super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                    ._M_impl._M_start[var_33] = (type_22 *)0x1;
                    (this->super_Sized_relobj<64,var_59>).section_offsets_.
                    super__Vector_base<var_50,var_46::var_1<var_50>var_3>.
                    _M_impl._M_start[var_33] = 0xffffffffffffffff;
                  }
                  else {
                    var_43 = *(type_2 *)((long)pvVar33 + var_33 * 4);
                    var_77 = Layout::layout<64,var_59>
                                        (layout,this,i,(char *)name,&shdr,var_37,var_43,
                                         *(type_2 *)((long)pvVar34 + var_33 * 4),&var_79);
                    (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                    super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>
                    ._M_impl._M_start[var_33] = var_77;
                    (this->super_Sized_relobj<64,var_59>).section_offsets_.
                    super__Vector_base<var_50,var_46::var_1<var_50>var_3>.
                    _M_impl._M_start[var_33] = var_79;
                    if ((var_79 == -1) && (var_43 != 0)) {
                      (this->super_Sized_relobj<64,var_59>).super_Relobj.
                      relocs_must_follow_section_writes_ = true;
                    }
                    if (var_68 == false) {
                      if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */
                        var_20("../../gold/parameters.h",0x5c,"options");
                      }
                      if ((parameters->options_->gdb_index_).value != false) {
                        bVar31 = false;
                        bVar68 = ((shdr.p_)->sh_flags & 2) == 0;
                        if (bVar68) {
                          lVar48 = 0xc;
                          pbVar58 = name;
                          pbVar60 = (type_24 *)".debug_info";
                          do {
                            if (lVar48 == 0) break;
                            lVar48 = lVar48 + -1;
                            bVar31 = *pbVar58 < *pbVar60;
                            bVar68 = *pbVar58 == *pbVar60;
                            pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
                            pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
                          } while (bVar68);
                          bVar70 = false;
                          bVar31 = (!bVar31 && !bVar68) == bVar31;
                          if (!bVar31) {
                            lVar48 = 0xd;
                            pbVar58 = name;
                            pbVar60 = (type_24 *)".zdebug_info";
                            do {
                              if (lVar48 == 0) break;
                              lVar48 = lVar48 + -1;
                              bVar70 = *pbVar58 < *pbVar60;
                              bVar31 = *pbVar58 == *pbVar60;
                              pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
                              pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
                            } while (bVar31);
                            bVar68 = false;
                            bVar31 = (!bVar70 && !bVar31) == bVar70;
                            if (!bVar31) {
                              lVar48 = 0xd;
                              pbVar58 = name;
                              pbVar60 = (type_24 *)".debug_types";
                              do {
                                if (lVar48 == 0) break;
                                lVar48 = lVar48 + -1;
                                bVar68 = *pbVar58 < *pbVar60;
                                bVar31 = *pbVar58 == *pbVar60;
                                pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
                                pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
                              } while (bVar31);
                              bVar70 = false;
                              bVar31 = (!bVar68 && !bVar31) == bVar68;
                              if (!bVar31) {
                                lVar48 = 0xe;
                                pbVar58 = (type_24 *)".zdebug_types";
                                do {
                                  if (lVar48 == 0) break;
                                  lVar48 = lVar48 + -1;
                                  bVar70 = *name < *pbVar58;
                                  bVar31 = *name == *pbVar58;
                                  name = name + (type_17)bVar71 * -2 + 1;
                                  pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
                                } while (bVar31);
                                if ((!bVar70 && !bVar31) != bVar70) goto LAB_001daa92;
                              }
                              std::vector<var_14,var_46::var_1<var_14>var_3>::push_back
                                        (&var_18,&i);
                              goto LAB_001daa92;
                            }
                          }
                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */
                          std::vector<var_14,var_46::var_1<var_14>var_3>::push_back
                                    (&var_17,&i);
                        }
                      }
                    }
                  }
                }
              }
              else {
                var_33 = (type_17)i;
                if ((this->is_deferred_layout_ == false) || (((shdr.p_)->sh_flags & 2) == 0))
                goto LAB_001daeca;
                var_39 = *(type_2 *)((long)pvVar34 + var_33 * 4);
                uVar6 = *(type_2 *)((long)pvVar33 + var_33 * 4);
                var_9::__cxx11::basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3>::
                basic_string((basic_string<var_2,var_46::char_traits<var_2>,var_46::var_1<var_2>var_3> *)
                             &var_79,(char *)name,__a_01);
                var_80._16_4_ = var_43;
                local_84._4_4_ = var_39;
                local_84._0_4_ = uVar6;
                uVar22._0_4_ = pSVar54->sh_name;
                uVar22._4_4_ = pSVar54->sh_type;
                EStack_74 = pSVar54->sh_flags;
                local_6c = pSVar54->sh_addr;
                EStack_64 = pSVar54->sh_offset;
                local_5c = pSVar54->sh_size;
                uStack_54 = *(type_12 *)&pSVar54->sh_link;
                local_4c = pSVar54->sh_addralign;
                EStack_44 = pSVar54->sh_entsize;
                local_7c = var_78(uVar22,0);
                uStack_78 = var_37;
                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */
                std::
                vector<var_45::var_7<64,var_59>::var_60,var_46::var_1<var_45::var_7<64,var_59>::var_60>var_3>
                ::emplace_back<var_45::var_7<64,var_59>::var_60>
                          (&this->deferred_layout_,(var_60 *)&var_79);
                if ((type_33 *)var_79 != var_80) {
                  var_57((void *)var_79);
                }
                (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
                super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>.
                _M_impl._M_start[i] = (type_22 *)0x2;
                (this->super_Sized_relobj<64,var_59>).section_offsets_.
                super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl.
                _M_start[i] = 0xffffffffffffffff;
              }
            }
          }
          else if (var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                   _M_impl._M_finish ==
                   var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>.
                   _M_impl._M_end_of_storage) {
            std::vector<var_14,var_46::var_1<var_14>var_3>::
            _M_realloc_insert<unsigned_int_const&>
                      (&var_15,
                       (type_6)
                       var_15.
                       super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                       _M_finish,&i);
          }
          else {
            *var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
             _M_finish = i;
            var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
            _M_finish = var_15.
                        super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                        _M_finish + 1;
          }
        }
        else {
          bVar31 = type_38::handle_gnu_warning_section((type_38 *)this,(char *)name,(type_2)var_82,symtab);
          bVar68 = !bVar31;
          if (bVar31) {
            bVar68 = false;
            bVar31 = var_68 == false;
            if (bVar31) {
              if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */
                var_20("../../gold/parameters.h",0x5c,"options");
              }
              bVar68 = false;
              bVar31 = (parameters->options_->shared_).value == false;
              if (bVar31) {
                puVar36 = (type_17 *)((type_17)(i >> 3 & 0x1ffffff8) +
                                   (long)var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.
                                         super__Bvector_impl_data._M_start.super__Bit_iterator_base.
                                         _M_p);
                bVar68 = false;
                *puVar36 = *puVar36 | 1L << ((type_24)i & 0x3f);
                bVar31 = *puVar36 == 0;
              }
            }
          }
          lVar48 = 0x10;
          pbVar58 = name;
          pbVar60 = (type_24 *)".note.GNU-stack";
          do {
            if (lVar48 == 0) break;
            lVar48 = lVar48 + -1;
            bVar68 = *pbVar58 < *pbVar60;
            bVar31 = *pbVar58 == *pbVar60;
            pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
            pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
          } while (bVar31);
          if ((!bVar68 && !bVar31) == bVar68) {
            local_230 = true;
            local_238 = local_238 | (shdr.p_)->sh_flags;
            puVar36 = (type_17 *)((type_17)(i >> 3 & 0x1ffffff8) +
                               (long)var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar36 = *puVar36 | 1L << ((type_24)i & 0x3f);
          }
          bVar31 = type_38::handle_split_stack_section((type_38 *)this,(char *)name);
          var_43 = i;
          pPVar28 = parameters;
          var_36 = (type_24)i;
          if ((bVar31) && (var_68 == false)) {
            if (parameters->options_ == (type_18 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */
              var_20("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->shared_).value == false) {
              puVar36 = (type_17 *)((type_17)(i >> 3 & 0x1ffffff8) +
                                 (long)var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.
                                       super__Bvector_impl_data._M_start.super__Bit_iterator_base.
                                       _M_p);
              *puVar36 = *puVar36 | 1L << (var_36 & 0x3f);
            }
          }
          if (pPVar28->target_ == (type_37 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_20("../../gold/parameters.h",0x69,"target");
          }
          var_33 = (type_17)i;
          pcVar41 = *(char **)(*(long *)(pPVar28->target_ + 8) + 0x60);
          bVar31 = pcVar41 == (char *)0x0;
          if (!bVar31) {
            iVar32 = strcmp((char *)name,pcVar41);
            bVar31 = iVar32 == 0;
            if (!bVar31) goto LAB_001daf00;
LAB_001dabc4:
            puVar36 = (type_17 *)((type_17)(var_43 >> 3 & 0x1ffffff8) +
                               (long)var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar36 = *puVar36 | 1L << (var_36 & 0x3f);
            if (var_37 != 7) goto LAB_001dabee;
LAB_001daf2c:
            bVar68 = var_37 == 7;
            bVar31 = var_37 < 7;
            lVar48 = 0x13;
            pbVar58 = name;
            pbVar60 = (type_24 *)".note.gnu.property";
            do {
              if (lVar48 == 0) break;
              lVar48 = lVar48 + -1;
              bVar31 = *pbVar58 < *pbVar60;
              bVar68 = *pbVar58 == *pbVar60;
              pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
              pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
            } while (bVar68);
            if ((!bVar31 && !bVar68) != bVar31) {
              bVar68 = (1L << (var_36 & 0x3f) &
                       var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.
                       super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p[var_43 >> 6])
                       == 0;
              bVar31 = !bVar68;
              if (bVar68) goto LAB_001dac20;
              goto LAB_001daf78;
            }
                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */
            layout_gnu_property_section(this,layout,var_43);
            var_33 = (type_17)i;
            puVar36 = (type_17 *)((type_17)(i >> 3 & 0x1ffffff8) +
                               (long)var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.
                                     super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p
                               );
            *puVar36 = *puVar36 | 1L << ((type_24)i & 0x3f);
            goto LAB_001dafa0;
          }
LAB_001daf00:
          bVar68 = false;
          lVar48 = 0x10;
          pbVar58 = name;
          pbVar60 = (type_24 *)".gnu.attributes";
          do {
            if (lVar48 == 0) break;
            lVar48 = lVar48 + -1;
            bVar68 = *pbVar58 < *pbVar60;
            bVar31 = *pbVar58 == *pbVar60;
            pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
            pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
          } while (bVar31);
          if ((!bVar68 && !bVar31) == bVar68) goto LAB_001dabc4;
          if (var_37 == 7) goto LAB_001daf2c;
LAB_001dabee:
          bVar31 = (1L << (var_36 & 0x3f) &
                   var_19.super__Bvector_base<var_9::var_1<var_10>var_3>._M_impl.super__Bvector_impl_data.
                   _M_start.super__Bit_iterator_base._M_p[var_43 >> 6]) != 0;
          if (bVar31) {
LAB_001daf78:
            local_210 = layout->incremental_inputs_;
            if (local_210 == (type_31 *)0x0) {
              if (!bVar31) goto LAB_001da9c0;
            }
            else if (!bVar31) goto LAB_001dac76;
          }
          else {
            bVar31 = false;
            if (var_37 != 0x11) {
LAB_001dac20:
              bVar68 = false;
              bVar70 = ((shdr.p_)->sh_flags & 0x200) == 0;
              if (bVar70) {
                lVar48 = 0xd;
                pbVar58 = name;
                pbVar60 = (type_24 *)".gnu.linkonce";
                do {
                  if (lVar48 == 0) break;
                  lVar48 = lVar48 + -1;
                  bVar68 = *pbVar58 < *pbVar60;
                  bVar70 = *pbVar58 == *pbVar60;
                  pbVar58 = pbVar58 + (type_17)bVar71 * -2 + 1;
                  pbVar60 = pbVar60 + (type_17)bVar71 * -2 + 1;
                } while (bVar70);
                if (((!bVar68 && !bVar70) == bVar68) &&
                   (bVar68 = include_linkonce_section(this,layout,var_43,(char *)name,&shdr),
                   !bVar68)) {
                  var_33 = (type_17)i;
                  goto LAB_001dafa0;
                }
              }
LAB_001dac4f:
              local_210 = layout->incremental_inputs_;
              if ((!bVar31) && (local_210 != (type_31 *)0x0)) {
LAB_001dac76:
                bVar31 = can_incremental_update(var_37);
                if (bVar31) {
                  sh_size = (shdr.p_)->sh_size;
                  pCVar9 = (this->super_Sized_relobj<64,var_59>).super_Relobj.super_Object.
                           compressed_sections_;
                  if (pCVar9 != (type_8 *)0x0) {
                    p_Var1 = &(pCVar9->_M_t)._M_impl.super__Rb_tree_header;
                    p_Var10 = (pCVar9->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
                    p_Var49 = &p_Var1->_M_header;
                    if (p_Var10 != (type_1)0x0) {
                      do {
                        while (p_Var50 = p_Var10, p_Var50[1]._M_color < i) {
                          pp_Var2 = &p_Var50->_M_right;
                          p_Var10 = *pp_Var2;
                          p_Var50 = p_Var49;
                          if (*pp_Var2 == (type_1)0x0) goto LAB_001dacda;
                        }
                        p_Var10 = p_Var50->_M_left;
                        p_Var49 = p_Var50;
                      } while (p_Var50->_M_left != (type_1)0x0);
LAB_001dacda:
                      if ((p_Var1 != (_Rb_tree_header *)p_Var50) &&
                         ((type_2)((_Rb_tree_header *)p_Var50)->_M_node_count <= i)) {
                        sh_size = *(type_27 *)((long)p_Var50 + 0x28);
                      }
                    }
                  }
                  Incremental_inputs::report_input_section
                            (local_210,(type_38 *)this,i,(char *)name,sh_size);
                }
              }
              goto LAB_001da9c0;
            }
                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */
            bVar31 = include_section_group
                               (this,symtab,layout,var_43,(char *)name,var_35,(char *)local_1c0,
                                var_87,(vector<var_10,var_46::var_1<var_10>var_3> *)local_270);
            if (bVar31) {
              bVar31 = false;
              goto LAB_001dac4f;
            }
LAB_001db6f8:
            var_33 = (type_17)i;
          }
LAB_001dafa0:
          i = (type_2)var_33;
          (this->super_Sized_relobj<64,var_59>).super_Relobj.output_sections_.
          super__Vector_base<var_45::type_22*,var_46::var_1<var_45::type_22*>var_3>._M_impl.
          _M_start[var_33] = (type_22 *)0x0;
          (this->super_Sized_relobj<64,var_59>).section_offsets_.
          super__Vector_base<var_50,var_46::var_1<var_50>var_3>._M_impl._M_start
          [var_33] = 0xffffffffffffffff;
        }
LAB_001daa92:
        i = i + 1;
        var_82 = (var_1<var_2> *var_69)(type_17)i;
        pSVar67 = pSVar54 + 1;
        if (var_23 <= i) goto LAB_001da530;
        var_33 = (type_17)pSVar67->sh_name;
        var_37 = pSVar54[1].sh_type;
        pSVar54 = pSVar67;
        shdr.p_ = pSVar67;
      } while (var_33 < var_87);
    }
    var_23 = i;
    local_270 = &var_19.super__Bvector_base<var_9::var_1<bool>var_3>;
    pcVar41 = (char *)var_41("bad section name var_79 for section %u: %lu");
    type_38::var_42((type_38 *)this,pcVar41,var_23,var_33);
    if (var_18.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl
        ._M_start != (type_7)0x0) {
      var_57(var_18.
                      super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                      _M_start);
    }
    if (var_17.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
        _M_start != (type_7)0x0) {
      var_57(var_17.
                      super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                      _M_start);
    }
    if (var_16.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
        _M_start != (type_7)0x0) {
      var_57(var_16.
                      super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
                      _M_start);
    }
    if (var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>._M_impl.
        _M_start != (type_7)0x0) {
      var_57(var_15.super__Vector_base<var_14,var_46::var_1<var_14>var_3>
                      ._M_impl._M_start);
    }
    var_9::var_8<var_9::var_1<bool>var_3>::var_86(local_270);
  }
  var_57(pvVar34);
  var_57(pvVar33);
  return;
}


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

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

{
  char cVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  char *__s2;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  undefined1 uVar10;
  undefined *puVar11;
  undefined8 uVar12;
  uint *puVar13;
  char cVar14;
  char cVar15;
  int iVar16;
  long lVar17;
  long lVar18;
  byte *__s1;
  ulong *puVar19;
  long lVar20;
  ulong uVar21;
  undefined8 uVar22;
  undefined8 *puVar23;
  undefined8 *puVar24;
  long *plVar25;
  undefined8 uVar26;
  byte bVar27;
  long lVar28;
  long lVar29;
  long lVar30;
  ulong uVar31;
  ulong uVar32;
  undefined8 *puVar33;
  undefined8 *puVar34;
  size_t sVar35;
  uint *puVar36;
  uint *puVar37;
  byte *pbVar38;
  byte *pbVar39;
  uint uVar40;
  long *plVar41;
  uint uVar42;
  uint uVar43;
  ulong uVar44;
  bool bVar45;
  bool bVar46;
  bool bVar47;
  byte bVar48;
  void **local_270;
  long *local_240;
  ulong local_238;
  long local_228;
  long local_220;
  long local_210;
  long local_200;
  long local_1f8;
  long local_1f0;
  ulong local_1c8;
  long local_1c0;
  uint *local_1a0;
  undefined1 local_18d;
  uint local_18c;
  uint *local_188;
  uint **local_180;
  uint *local_178;
  uint *local_170;
  uint *local_168;
  uint *local_158;
  uint *local_150;
  undefined8 local_148;
  uint *local_138;
  uint *local_130;
  undefined8 local_128;
  uint *local_118;
  uint *local_110;
  undefined8 local_108;
  uint *local_f8;
  uint local_f0;
  uint auStack_e8 [4];
  void *local_d8;
  undefined4 local_d0;
  uint *local_c8;
  uint local_c0;
  void *local_b8;
  uint *local_a8;
  uint local_a0;
  undefined4 uStack_9c;
  uint auStack_98 [4];
  uint local_88;
  undefined8 local_84;
  undefined8 local_7c;
  undefined8 uStack_74;
  undefined8 local_6c;
  undefined8 uStack_64;
  undefined8 local_5c;
  undefined8 uStack_54;
  undefined8 local_4c;
  undefined8 uStack_44;
  
  bVar48 = 0;
  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  uVar2 = param_1[0xe];
  uVar3 = *(uint *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x7c);
  if (lVar17 == 0) goto LAB_001db857;
  if (*(char *)(lVar17 + 0x2809) == '\0') {
    if (*(int *)(lVar17 + 0x9050) == 0) {
      if (*(char *)(param_3 + 0x372) == '\0') {
        if (uVar2 == 0) {
          return;
        }
        local_1c8 = param_4[2];
        local_1f0 = *(long *)(*param_4 + 0x10);
        local_1f8 = param_4[3];
        if (local_1f8 != 0) {
          local_1f8 = *(long *)(local_1f8 + 0x10);
        }
        local_200 = param_4[4];
        local_220 = param_4[6];
        if (local_220 != 0) {
          local_220 = *(long *)(local_220 + 0x10);
        }
        bVar7 = false;
        bVar8 = false;
        local_228 = param_4[7];
        local_240 = (long *)0x0;
        local_1c0 = *(long *)(param_4[1] + 0x10);
        bVar9 = false;
        goto LAB_001da266;
      }
      local_240 = *(long **)(param_1 + 0x22);
      if (local_240 != (long *)0x0) goto LAB_001da1f0;
    }
    else {
      local_240 = *(long **)(param_1 + 0x22);
      if (local_240 != (long *)0x0) goto LAB_001db71f;
    }
  }
  else {
    local_240 = *(long **)(param_1 + 0x22);
    if (local_240 != (long *)0x0) {
      if (*(char *)(*(long *)(param_2 + 0x290) + 0x18) == '\0') {
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/object.cc",0x59d,"do_layout");
      }
      if (*(int *)(lVar17 + 0x9050) != 0) {
LAB_001db71f:
        if (*(char *)(*(long *)(param_2 + 0x298) + 0xa0) == '\0') {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x59f,"do_layout");
        }
      }
LAB_001da1f0:
      if (uVar2 == 0) {
        return;
      }
      bVar7 = true;
      bVar8 = true;
      local_1f0 = *local_240;
      local_1f8 = local_240[3];
      bVar9 = false;
      local_200 = local_240[4];
      local_1c8 = local_240[2];
      local_228 = local_240[7];
      local_220 = local_240[6];
      local_1c0 = local_240[1];
      goto LAB_001da266;
    }
  }
  if (param_4 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/object.cc",0x597,"do_layout");
  }
  if (uVar2 == 0) {
    return;
  }
  local_240 = (long *)FUN_002d9490(0x40);
  FUN_001bd460(param_1,local_240,param_4,uVar2 << 6);
  local_1f0 = *local_240;
  *(long **)(param_1 + 0x22) = local_240;
  local_1f8 = local_240[3];
  local_1c8 = local_240[2];
  local_200 = local_240[4];
  local_220 = local_240[6];
  lVar17 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  local_228 = local_240[7];
  local_1c0 = local_240[1];
  if (lVar17 == 0) {
LAB_001db857:
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
  bVar7 = true;
  bVar8 = false;
  bVar9 = true;
LAB_001da266:
  lVar17 = *(long *)(lVar17 + 0x9058);
  bVar27 = 0;
  if ((lVar17 != 0) && (bVar27 = *(byte *)(lVar17 + 0xb0), bVar27 != 0)) {
    bVar27 = *(byte *)(lVar17 + 0xb1) ^ 1;
  }
  uVar44 = (ulong)uVar2;
  lVar17 = FUN_002d9490(uVar44 * 4);
  uVar32 = 0;
  do {
    uVar31 = uVar32;
    uVar32 = uVar31 + 1;
    *(undefined4 *)(lVar17 + uVar31 * 4) = 0;
  } while (uVar44 != uVar32);
                    /* try { // try from 001da2ea to 001da2ee has its CatchHandler @ 001dc5a2 */
  lVar18 = FUN_002d9490(uVar44 * 4);
  uVar21 = 0;
  do {
    *(undefined4 *)(lVar18 + uVar21 * 4) = 0;
    bVar45 = uVar31 != uVar21;
    uVar21 = uVar21 + 1;
  } while (bVar45);
  puVar37 = (uint *)(local_1f0 + 0x40);
  if (uVar2 < 2) {
    uVar43 = 0;
  }
  else {
    uVar42 = 1;
    uVar43 = 0;
    local_1a0 = puVar37;
    do {
      if (bVar27 != 0) {
        uVar43 = (uVar43 + 1) - (uint)((*(ulong *)(local_1a0 + 2) & 2) == 0);
      }
      uVar4 = local_1a0[1];
      if ((uVar4 == 9) || (uVar4 == 4)) {
        uVar40 = local_1a0[0xb];
        if (0xfeff < uVar40) {
                    /* try { // try from 001da6df to 001da74e has its CatchHandler @ 001dc54a */
          FUN_001682d0(param_1 + 0x3e);
          uVar40 = uVar40 + param_1[0x44];
        }
        uVar21 = (ulong)uVar40;
        if ((uVar40 == 0) || (uVar2 <= uVar40)) {
          uVar22 = gettext("relocation section %u has bad info %u");
          FUN_001bd150(param_1,uVar22,uVar42,uVar21);
        }
        else {
          puVar36 = (uint *)(lVar17 + uVar21 * 4);
          if (*puVar36 == 0) {
            *puVar36 = uVar42;
            *(uint *)(lVar18 + uVar21 * 4) = uVar4;
          }
          else {
            *puVar36 = 0xffffffff;
          }
        }
      }
      uVar42 = uVar42 + 1;
      local_1a0 = local_1a0 + 0x10;
    } while (uVar42 != uVar2);
  }
  if (!bVar8) {
    uVar21 = *(long *)(param_1 + 0x16) - *(long *)(param_1 + 0x14) >> 3;
    if (uVar21 < uVar32) {
      FUN_00192810(param_1 + 0x14);
    }
    else if ((uVar32 < uVar21) &&
            (lVar28 = *(long *)(param_1 + 0x14) + uVar32 * 8, *(long *)(param_1 + 0x16) != lVar28))
    {
      *(long *)(param_1 + 0x16) = lVar28;
    }
    uVar21 = *(long *)(param_1 + 0x3a) - *(long *)(param_1 + 0x38) >> 3;
    if (uVar21 < uVar32) {
                    /* try { // try from 001dc27f to 001dc298 has its CatchHandler @ 001dc54a */
      FUN_00167c60(param_1 + 0x38);
    }
    else if ((uVar32 < uVar21) &&
            (lVar28 = *(long *)(param_1 + 0x38) + uVar32 * 8, *(long *)(param_1 + 0x3a) != lVar28))
    {
      *(long *)(param_1 + 0x3a) = lVar28;
    }
  }
  if (*(long *)(param_1 + 10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc34e to 001dc36a has its CatchHandler @ 001dc54a */
    FUN_001bcf60();
  }
  cVar14 = FUN_0017a850();
  if (cVar14 == '\0') {
    if (uVar43 != 0) {
      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/parameters.h",0x5c,"options");
      }
      lVar28 = *(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x9058);
      puVar24 = *(undefined8 **)(lVar28 + 0x40);
      local_188 = param_1;
      if (puVar24 == *(undefined8 **)(lVar28 + 0x48)) {
        FUN_001c5890(lVar28 + 0x38,puVar24,&local_188);
      }
      else {
        *puVar24 = param_1;
        *(undefined8 **)(lVar28 + 0x40) = puVar24 + 1;
      }
      lVar28 = *(long *)(param_1 + 0x7a);
      uVar32 = (ulong)uVar43;
      if ((ulong)((*(long *)(param_1 + 0x7e) - lVar28 >> 4) * 0x6db6db6db6db6db7) < uVar32) {
        lVar20 = *(long *)(param_1 + 0x7c);
                    /* try { // try from 001dbb68 to 001dbc65 has its CatchHandler @ 001dc54a */
        puVar24 = (undefined8 *)FUN_002d9490(uVar32 * 0x70);
        if (lVar28 != lVar20) {
          puVar23 = (undefined8 *)(lVar28 + 0x10);
          puVar34 = puVar24;
          do {
            *puVar34 = puVar34 + 2;
            if ((undefined8 *)puVar23[-2] == puVar23) {
              uVar22 = puVar23[1];
              puVar34[2] = *puVar23;
              puVar34[3] = uVar22;
            }
            else {
              *puVar34 = (undefined8 *)puVar23[-2];
              puVar34[2] = *puVar23;
            }
            puVar33 = puVar34 + 0xe;
            puVar34[1] = puVar23[-1];
            puVar23[-2] = puVar23;
            puVar23[-1] = 0;
            *(undefined1 *)puVar23 = 0;
            *(undefined4 *)(puVar34 + 4) = *(undefined4 *)(puVar23 + 2);
            *(undefined4 *)((long)puVar34 + 0x24) = *(undefined4 *)((long)puVar23 + 0x14);
            *(undefined4 *)(puVar34 + 5) = *(undefined4 *)(puVar23 + 3);
            uVar22 = *(undefined8 *)((long)puVar23 + 0x24);
            *(undefined8 *)((long)puVar34 + 0x2c) = *(undefined8 *)((long)puVar23 + 0x1c);
            *(undefined8 *)((long)puVar34 + 0x34) = uVar22;
            uVar22 = *(undefined8 *)((long)puVar23 + 0x34);
            *(undefined8 *)((long)puVar34 + 0x3c) = *(undefined8 *)((long)puVar23 + 0x2c);
            *(undefined8 *)((long)puVar34 + 0x44) = uVar22;
            uVar22 = *(undefined8 *)((long)puVar23 + 0x44);
            *(undefined8 *)((long)puVar34 + 0x4c) = *(undefined8 *)((long)puVar23 + 0x3c);
            *(undefined8 *)((long)puVar34 + 0x54) = uVar22;
            uVar22 = *(undefined8 *)((long)puVar23 + 0x54);
            *(undefined8 *)((long)puVar34 + 0x5c) = *(undefined8 *)((long)puVar23 + 0x4c);
            *(undefined8 *)((long)puVar34 + 100) = uVar22;
            puVar23 = puVar23 + 0xe;
            puVar34 = puVar33;
          } while (puVar33 !=
                   puVar24 + ((((ulong)((lVar20 + -0x70) - lVar28) >> 4) * 0xdb6db6db6db6db7 &
                              0xfffffffffffffff) + 1) * 0xe);
        }
        plVar25 = *(long **)(param_1 + 0x7c);
        plVar41 = *(long **)(param_1 + 0x7a);
        if (plVar25 != plVar41) {
          do {
            if ((long *)*plVar41 != plVar41 + 2) {
              FUN_002dac60();
            }
            plVar41 = plVar41 + 0xe;
          } while (plVar25 != plVar41);
          plVar41 = *(long **)(param_1 + 0x7a);
        }
        if (plVar41 != (long *)0x0) {
          FUN_002dac60(plVar41);
        }
        *(undefined8 **)(param_1 + 0x7a) = puVar24;
        *(long *)(param_1 + 0x7c) = (lVar20 - lVar28) + (long)puVar24;
        *(undefined8 **)(param_1 + 0x7e) = puVar24 + uVar32 * 0xe;
      }
      *(undefined1 *)((long)param_1 + 0x1e1) = 1;
    }
    local_d8 = (void *)0x0;
    local_d0 = 0;
    local_c8 = (uint *)0x0;
    sVar35 = (uVar31 + 0x40 >> 6) * 8;
    local_c0 = 0;
    local_b8 = (void *)0x0;
                    /* try { // try from 001da822 to 001da826 has its CatchHandler @ 001dc48d */
    local_d8 = (void *)FUN_002d9490(sVar35);
    local_b8 = (void *)((long)local_d8 + sVar35);
    local_d0 = 0;
    local_c8 = (uint *)((long)local_d8 + ((long)uVar44 >> 6) * 8);
    local_c0 = uVar2 & 0x3f;
    local_a8 = local_c8;
    local_a0 = local_c0;
    memset(local_d8,0,sVar35);
    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc440 to 001dc444 has its CatchHandler @ 001dc492 */
      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
    }
    cVar14 = *(char *)(lVar28 + 0x5051);
    cVar1 = cVar14;
    if (cVar14 == '\0') {
      cVar1 = *(char *)(lVar28 + 0x4ec1);
    }
    local_178 = (uint *)0x0;
    local_170 = (uint *)0x0;
    local_168 = (uint *)0x0;
    local_158 = (uint *)0x0;
    local_150 = (uint *)0x0;
    local_148 = 0;
    local_138 = (uint *)0x0;
    local_130 = (uint *)0x0;
    local_128 = 0;
    local_118 = (uint *)0x0;
    local_110 = (uint *)0x0;
    local_108 = 0;
    local_18c = 1;
    uVar10 = 0;
    if (uVar2 < 2) {
      local_238 = 0;
LAB_001da530:
      local_270 = &local_d8;
      if (!bVar8) {
                    /* try { // try from 001da546 to 001da563 has its CatchHandler @ 001dc59a */
        FUN_001a5430(param_3,param_1);
        FUN_001a5350(param_3,uVar10,local_238,param_1);
      }
      if (bVar9) {
        if (local_158 != local_150) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x751,"do_layout");
        }
      }
      else if (local_158 != local_150) {
        puVar37 = local_158;
        do {
          uVar3 = *puVar37;
          local_a8 = (uint *)((ulong)(uVar3 << 6) + local_1f0);
          FUN_001c3ea0(param_1,param_3,local_1f8,local_200,local_220,local_228,uVar3,&local_a8,
                       *(undefined4 *)(lVar17 + (ulong)uVar3 * 4),
                       *(undefined4 *)(lVar18 + (ulong)uVar3 * 4));
          puVar37 = puVar37 + 1;
        } while (local_150 != puVar37);
      }
      if (cVar1 != '\0') {
                    /* try { // try from 001dc264 to 001dc268 has its CatchHandler @ 001dc59a */
        FUN_001bfe80(param_1);
      }
      if (bVar7) {
        if (local_178 != local_170) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x76c,"do_layout");
        }
      }
      else if (local_178 != local_170) {
        local_1a0 = local_178;
        do {
          uVar3 = *local_1a0;
          uVar32 = (ulong)uVar3;
          puVar37 = (uint *)((ulong)(uVar3 << 6) + local_1f0);
          uVar43 = puVar37[0xb];
          local_f8 = puVar37;
          if (0xfeff < uVar43) {
            FUN_001682d0(param_1 + 0x3e);
            uVar43 = uVar43 + param_1[0x44];
          }
          if (uVar43 < uVar2) {
            lVar28 = *(long *)(*(long *)(param_1 + 0x14) + (ulong)uVar43 * 8);
            if (lVar28 == 2) {
              if (!bVar8) {
                uVar43 = local_f8[1];
                FUN_001bde30(&local_a8,(ulong)*local_f8 + local_1c0);
                local_84 = 0;
                uStack_74 = *(undefined8 *)(puVar37 + 2);
                local_6c = *(undefined8 *)(puVar37 + 4);
                uStack_64 = *(undefined8 *)(puVar37 + 6);
                local_5c = *(undefined8 *)(puVar37 + 8);
                uStack_54 = *(undefined8 *)(puVar37 + 10);
                local_4c = *(undefined8 *)(puVar37 + 0xc);
                uStack_44 = *(undefined8 *)(puVar37 + 0xe);
                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;
                local_7c = CONCAT44(uVar43,(undefined4)local_7c);
                local_88 = uVar3;
                    /* try { // try from 001dbed8 to 001dbedc has its CatchHandler @ 001dc55d */
                FUN_001d6880(param_1 + 0x80,&local_a8);
                if (local_a8 != auStack_98) {
                  FUN_002dac60();
                }
                *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 2;
                *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
              }
            }
            else if (lVar28 == 0) {
              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;
              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
            }
            else {
              puVar24 = (undefined8 *)FUN_002d9490(0x28);
              *puVar24 = 0;
              puVar24[1] = 0;
              puVar24[2] = 0;
              puVar24[3] = 0;
              puVar24[4] = 0;
              if (param_1[0xe] <= uVar3) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");
              }
              *(undefined8 **)(**(long **)(param_1 + 0x1a) + uVar32 * 8) = puVar24;
              uVar22 = FUN_001b2ab0(param_3,param_1,uVar32,&local_f8,lVar28);
              *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;
              *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
            }
          }
          local_1a0 = local_1a0 + 1;
        } while (local_170 != local_1a0);
      }
      if (bVar9) {
        if ((local_130 != local_138) || (local_110 != local_118)) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.cc",0x7a0,"do_layout");
        }
      }
      else {
        puVar37 = local_138;
        if (local_130 != local_138) {
          do {
            uVar32 = (ulong)*puVar37;
                    /* try { // try from 001dbf6d to 001dc18c has its CatchHandler @ 001dc59a */
            FUN_001b8f10(param_3,0,param_1,local_1f8,local_200,uVar32,
                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));
            puVar37 = puVar37 + 1;
          } while (local_130 != puVar37);
        }
        puVar37 = local_118;
        if (local_118 != local_110) {
          do {
            uVar32 = (ulong)*puVar37;
            FUN_001b8f10(param_3,1,param_1,local_1f8,local_200,uVar32,
                         *(undefined4 *)(lVar17 + uVar32 * 4),*(undefined4 *)(lVar18 + uVar32 * 4));
            puVar37 = puVar37 + 1;
          } while (local_110 != puVar37);
        }
      }
      if (bVar8) {
        if (*local_240 != 0) {
          thunk_FUN_002dac60();
        }
        if (local_240[1] != 0) {
          thunk_FUN_002dac60();
        }
        if (local_240[3] != 0) {
          thunk_FUN_002dac60();
        }
        if (local_240[6] != 0) {
          thunk_FUN_002dac60();
        }
        param_1[0x22] = 0;
        param_1[0x23] = 0;
      }
      else {
        lVar28 = *param_4;
        if (lVar28 != 0) {
          FUN_0017a780(lVar28);
          thunk_FUN_002dac60(lVar28,0x18);
        }
        lVar28 = param_4[1];
        *param_4 = 0;
        if (lVar28 != 0) {
          FUN_0017a780(lVar28);
          thunk_FUN_002dac60(lVar28,0x18);
        }
        param_4[1] = 0;
      }
      if (local_118 != (uint *)0x0) {
        FUN_002dac60();
      }
      if (local_138 != (uint *)0x0) {
        FUN_002dac60();
      }
      if (local_158 != (uint *)0x0) {
        FUN_002dac60();
      }
      if (local_178 != (uint *)0x0) {
        FUN_002dac60();
      }
      FUN_001d5cd0(local_270);
      FUN_002dac60(lVar18);
      FUN_002dac60(lVar17);
      return;
    }
    uVar43 = *(uint *)(local_1f0 + 0x44);
    uVar32 = (ulong)*(uint *)(local_1f0 + 0x40);
    local_188 = puVar37;
    if (uVar32 < local_1c8) {
      local_238 = 0;
      do {
        local_270 = &local_d8;
        __s1 = (byte *)(local_1c0 + uVar32);
        local_188 = puVar37;
        if (bVar8) {
LAB_001da9c0:
          if (bVar9) {
            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2809) != '\0') {
              cVar15 = FUN_001bd560(param_1,__s1);
                    /* try { // try from 001daa12 to 001dadbc has its CatchHandler @ 001dc59a */
              if (((cVar15 != '\0') || (cVar15 = FUN_001a4e50(param_3,param_1,__s1), cVar15 != '\0')
                  ) || (uVar43 - 0xe < 2)) {
                local_a0 = local_18c;
                local_a8 = param_1;
                    /* try { // try from 001daff0 to 001db065 has its CatchHandler @ 001dc59a */
                FUN_001d5d20(*(undefined8 *)(param_2 + 0x290),&local_a8);
              }
              sVar35 = strspn((char *)__s1,
                              "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_");
              uVar42 = local_18c;
              if (__s1[sVar35] == 0) {
                lVar28 = *(long *)(param_2 + 0x290);
                FUN_001bde30(&local_a8,__s1);
                puVar13 = local_a8;
                puVar36 = (uint *)(lVar28 + 0x90);
                local_f0 = uVar42;
                local_f8 = param_1;
                if (*(long *)(lVar28 + 0x98) == 0) {
LAB_001db58d:
                  local_180 = &local_a8;
                    /* try { // try from 001db5c1 to 001db5c5 has its CatchHandler @ 001dc545 */
                  local_1a0 = (uint *)FUN_001d5a40(lVar28 + 0x88,puVar36,&DAT_003798ac,&local_180,
                                                   &local_18d);
                }
                else {
                  uVar32 = CONCAT44(uStack_9c,local_a0);
                  lVar20 = *(long *)(lVar28 + 0x98);
                  local_1a0 = puVar36;
                  do {
                    while( true ) {
                      lVar29 = lVar20;
                      uVar44 = *(ulong *)(lVar29 + 0x28);
                      uVar31 = uVar32;
                      if (uVar44 <= uVar32) {
                        uVar31 = uVar44;
                      }
                      if ((uVar31 != 0) &&
                         (iVar16 = memcmp(*(void **)(lVar29 + 0x20),puVar13,uVar31), iVar16 != 0))
                      break;
                      lVar20 = uVar44 - uVar32;
                      if (lVar20 < 0x80000000) {
                        if (-0x80000001 < lVar20) {
                          iVar16 = (int)lVar20;
                          break;
                        }
                        goto LAB_001db4b0;
                      }
LAB_001db4fa:
                      lVar20 = *(long *)(lVar29 + 0x10);
                      local_1a0 = (uint *)lVar29;
                      if (*(long *)(lVar29 + 0x10) == 0) goto LAB_001db50a;
                    }
                    if (-1 < iVar16) goto LAB_001db4fa;
LAB_001db4b0:
                    lVar20 = *(long *)(lVar29 + 0x18);
                  } while (*(long *)(lVar29 + 0x18) != 0);
LAB_001db50a:
                  bVar45 = puVar36 == local_1a0;
                  puVar36 = local_1a0;
                  if (bVar45) goto LAB_001db58d;
                  uVar44 = *(ulong *)((long)local_1a0 + 0x28);
                  uVar31 = uVar44;
                  if (uVar32 <= uVar44) {
                    uVar31 = uVar32;
                  }
                  if ((uVar31 == 0) ||
                     (iVar16 = memcmp(puVar13,*(void **)((long)local_1a0 + 0x20),uVar31),
                     iVar16 == 0)) {
                    lVar20 = uVar32 - uVar44;
                    if (lVar20 < 0x80000000) {
                      if (lVar20 < -0x80000000) goto LAB_001db58d;
                      iVar16 = (int)lVar20;
                      goto LAB_001db589;
                    }
                  }
                  else {
LAB_001db589:
                    if (iVar16 < 0) goto LAB_001db58d;
                  }
                }
                uVar44 = (ulong)uVar42 ^ (ulong)param_1;
                uVar32 = uVar44 % *(ulong *)((long)local_1a0 + 0x48);
                plVar25 = (long *)FUN_001b4d40((long)local_1a0 + 0x40,uVar32,&local_f8,uVar44);
                if ((plVar25 == (long *)0x0) || (*plVar25 == 0)) {
                    /* try { // try from 001db66d to 001db6a0 has its CatchHandler @ 001dc545 */
                  puVar24 = (undefined8 *)FUN_002d9490(0x20);
                  puVar24[1] = param_1;
                  *puVar24 = 0;
                  *(uint *)(puVar24 + 2) = uVar42;
                  FUN_001ba010((long)local_1a0 + 0x40,uVar32,uVar44,puVar24,1);
                }
                if (local_a8 != auStack_98) {
                  FUN_002dac60();
                }
              }
            }
          }
          uVar42 = local_18c;
          if ((cVar1 == '\0') || ((uVar43 != 9 && (uVar43 != 4)))) {
            if ((uVar43 != 0x11) || (cVar14 == '\0')) {
              cVar15 = FUN_001c3d60(param_1,&local_188);
              uVar42 = local_18c;
              bVar45 = false;
              bVar46 = cVar15 == '\0';
              if (!bVar46) {
                lVar28 = 10;
                pbVar38 = __s1;
                pbVar39 = (byte *)".eh_frame";
                do {
                  if (lVar28 == 0) break;
                  lVar28 = lVar28 + -1;
                  bVar45 = *pbVar38 < *pbVar39;
                  bVar46 = *pbVar38 == *pbVar39;
                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                } while (bVar46);
                if (((!bVar45 && !bVar46) == bVar45) && (uVar43 = uVar3, cVar14 == '\0')) {
                  if (bVar9) {
                    *(ulong *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) =
                         (ulong)(*(char *)((long)param_1 + 0x1e1) != '\0') + 1;
                    *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =
                         0xffffffffffffffff;
                  }
                  else if (*(char *)((long)param_1 + 0x1e1) == '\0') {
                    FUN_001c6700(&local_158,&local_18c);
                    uVar42 = local_18c;
                  }
                  else {
                    uVar5 = *(undefined4 *)(lVar17 + (ulong)local_18c * 4);
                    uVar6 = *(undefined4 *)(lVar18 + (ulong)local_18c * 4);
                    FUN_001bde30(&local_a8,__s1);
                    local_88 = uVar42;
                    local_84 = CONCAT44(uVar6,uVar5);
                    uStack_74 = *(undefined8 *)(puVar37 + 2);
                    local_6c = *(undefined8 *)(puVar37 + 4);
                    uStack_64 = *(undefined8 *)(puVar37 + 6);
                    local_5c = *(undefined8 *)(puVar37 + 8);
                    uStack_54 = *(undefined8 *)(puVar37 + 10);
                    local_4c = *(undefined8 *)(puVar37 + 0xc);
                    uStack_44 = *(undefined8 *)(puVar37 + 0xe);
                    local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;
                    local_7c = CONCAT44(uVar3,(undefined4)local_7c);
                    /* try { // try from 001dae06 to 001dae0a has its CatchHandler @ 001dc5aa */
                    FUN_001d6880(param_1 + 0x7a,&local_a8);
                    uVar42 = local_18c;
                    if (local_a8 != auStack_98) {
                      FUN_002dac60();
                      uVar42 = local_18c;
                    }
                  }
                  goto LAB_001daa92;
                }
              }
              if (bVar8) {
                lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
                if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                }
                uVar32 = (ulong)local_18c;
                lVar20 = uVar32 * 8;
                lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);
                if (*(char *)(lVar28 + 0x2809) == '\0') {
LAB_001db162:
                  if (*(int *)(lVar28 + 0x9050) != 0) {
                    if (lVar29 == 0) {
                      uVar42 = (uint)uVar32;
                      if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db895 to 001dbb1a has its CatchHandler @ 001dc59a */
                        FUN_0017c650("../../gold/object.cc",0x6f9,"do_layout");
                      }
                      goto LAB_001daa92;
                    }
                    bVar27 = (byte)local_188[2];
joined_r0x001db186:
                    if ((bVar27 & 2) != 0) {
                    /* try { // try from 001db19f to 001db43f has its CatchHandler @ 001dc59a */
                      cVar15 = FUN_0017f630(*(undefined8 *)(param_2 + 0x298),param_1,uVar32);
                      if (cVar15 != '\0') {
                        if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                          FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                        }
                        uVar32 = (ulong)local_18c;
                        if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4be1) == '\0')
                        goto LAB_001dafa0;
                        plVar25 = (long *)FUN_0017f670(*(undefined8 *)(param_2 + 0x298),param_1,
                                                       uVar32);
                        lVar28 = plVar25[1];
                        (**(code **)(*plVar25 + 0x80))(&local_a8,plVar25);
                        puVar36 = local_a8;
                        uVar22 = *(undefined8 *)(param_1 + 2);
                        if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {
                    /* try { // try from 001dc1d7 to 001dc1db has its CatchHandler @ 001dc559 */
                          FUN_00168a50(&local_f8,param_1 + 0x3e);
                        }
                        else {
                    /* try { // try from 001dc2a4 to 001dc2a5 has its CatchHandler @ 001dc559 */
                          (**(code **)(*(long *)param_1 + 0x80))(&local_f8,param_1,local_18c);
                        }
                        puVar13 = local_f8;
                        uVar12 = DAT_0043e8e8;
                        uVar26 = gettext(
                                        "%s: ICF folding section \'%s\' in file \'%s\' into \'%s\' in file \'%s\'"
                                        );
                    /* try { // try from 001dc21d to 001dc221 has its CatchHandler @ 001dc552 */
                        FUN_00178480(uVar26,uVar12,puVar13,uVar22,puVar36,lVar28);
                        if (local_f8 != auStack_e8) {
                          FUN_002dac60();
                        }
                        goto LAB_001dc237;
                      }
                      uVar32 = (ulong)local_18c;
                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);
                    }
                  }
                }
                else {
                  if (lVar29 == 0) {
                    if (*(long *)(*(long *)(param_1 + 0x38) + lVar20) != -1) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001db77d to 001db781 has its CatchHandler @ 001dc59a */
                      FUN_0017c650("../../gold/object.cc",0x6e4,"do_layout");
                    }
                    goto LAB_001daa92;
                  }
                  if ((local_188[2] & 2) != 0) {
                    local_a0 = local_18c;
                    local_a8 = param_1;
                    lVar20 = FUN_001820f0(*(long *)(param_2 + 0x290) + 0x50,&local_a8);
                    lVar28 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
                    if (lVar20 != 0) {
                      if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                      }
                      uVar32 = (ulong)local_18c;
                      lVar29 = *(long *)(*(long *)(param_1 + 0x14) + uVar32 * 8);
                      lVar20 = uVar32 * 8;
                      goto LAB_001db162;
                    }
                    if (lVar28 == 0) {
                    /* WARNING: Subroutine does not return */
                      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                    }
                    uVar32 = (ulong)local_18c;
                    if (*(char *)(lVar28 + 0x4b19) == '\0') goto LAB_001dafa0;
                    uVar22 = *(undefined8 *)(param_1 + 2);
                    if (*(code **)(*(long *)param_1 + 0x80) == FUN_001ce6f0) {
                    /* try { // try from 001dbcb5 to 001dbcb9 has its CatchHandler @ 001dc59a */
                      FUN_00168a50(&local_a8,param_1 + 0x3e,uVar32);
                    }
                    else {
                    /* try { // try from 001dc2b7 to 001dc34d has its CatchHandler @ 001dc59a */
                      (**(code **)(*(long *)param_1 + 0x80))(&local_a8,param_1,uVar32);
                    }
                    puVar36 = local_a8;
                    uVar12 = DAT_0043e8e8;
                    uVar26 = gettext("%s: removing unused section from \'%s\' in file \'%s\'");
                    /* try { // try from 001dbce5 to 001dbce9 has its CatchHandler @ 001dc55b */
                    FUN_00178480(uVar26,uVar12,puVar36,uVar22);
LAB_001dc237:
                    if (local_a8 != auStack_98) {
                      FUN_002dac60();
                    }
                    goto LAB_001db6f8;
                  }
                  if (*(int *)(lVar28 + 0x9050) != 0) {
                    bVar27 = (byte)local_188[2];
                    goto joined_r0x001db186;
                  }
                }
                uVar42 = (uint)uVar32;
                if (lVar29 != 2) {
LAB_001daeca:
                  if (bVar9) {
                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 1;
                    *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
                    uVar42 = (uint)uVar32;
                  }
                  else {
                    iVar16 = *(int *)(lVar17 + uVar32 * 4);
                    uVar22 = FUN_001bae80(param_3,param_1,uVar32,__s1,&local_188,uVar43,iVar16,
                                          *(undefined4 *)(lVar18 + uVar32 * 4),&local_a8);
                    *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = uVar22;
                    *(uint **)(*(long *)(param_1 + 0x38) + uVar32 * 8) = local_a8;
                    if ((local_a8 == (uint *)0xffffffffffffffff) && (iVar16 != 0)) {
                      *(undefined1 *)(param_1 + 0x1e) = 1;
                    }
                    uVar42 = local_18c;
                    if (cVar14 == '\0') {
                      if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc396 to 001dc3fa has its CatchHandler @ 001dc59a */
                        FUN_0017c650("../../gold/parameters.h",0x5c,"options");
                      }
                      if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x28d1) != '\0') {
                        bVar45 = false;
                        bVar46 = (local_188[2] & 2) == 0;
                        if (bVar46) {
                          lVar28 = 0xc;
                          pbVar38 = __s1;
                          pbVar39 = (byte *)".debug_info";
                          do {
                            if (lVar28 == 0) break;
                            lVar28 = lVar28 + -1;
                            bVar45 = *pbVar38 < *pbVar39;
                            bVar46 = *pbVar38 == *pbVar39;
                            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                          } while (bVar46);
                          bVar47 = false;
                          bVar45 = (!bVar45 && !bVar46) == bVar45;
                          if (!bVar45) {
                            lVar28 = 0xd;
                            pbVar38 = __s1;
                            pbVar39 = (byte *)".zdebug_info";
                            do {
                              if (lVar28 == 0) break;
                              lVar28 = lVar28 + -1;
                              bVar47 = *pbVar38 < *pbVar39;
                              bVar45 = *pbVar38 == *pbVar39;
                              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                            } while (bVar45);
                            bVar46 = false;
                            bVar45 = (!bVar47 && !bVar45) == bVar47;
                            if (!bVar45) {
                              lVar28 = 0xd;
                              pbVar38 = __s1;
                              pbVar39 = (byte *)".debug_types";
                              do {
                                if (lVar28 == 0) break;
                                lVar28 = lVar28 + -1;
                                bVar46 = *pbVar38 < *pbVar39;
                                bVar45 = *pbVar38 == *pbVar39;
                                pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                                pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                              } while (bVar45);
                              bVar47 = false;
                              bVar45 = (!bVar46 && !bVar45) == bVar46;
                              if (!bVar45) {
                                lVar28 = 0xe;
                                pbVar38 = (byte *)".zdebug_types";
                                do {
                                  if (lVar28 == 0) break;
                                  lVar28 = lVar28 + -1;
                                  bVar47 = *__s1 < *pbVar38;
                                  bVar45 = *__s1 == *pbVar38;
                                  __s1 = __s1 + (ulong)bVar48 * -2 + 1;
                                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                                } while (bVar45);
                                if ((!bVar47 && !bVar45) != bVar47) goto LAB_001daa92;
                              }
                              FUN_001c6700(&local_118,&local_18c);
                              uVar42 = local_18c;
                              goto LAB_001daa92;
                            }
                          }
                    /* try { // try from 001dbcfd to 001dbe96 has its CatchHandler @ 001dc59a */
                          FUN_001c6700(&local_138,&local_18c);
                          uVar42 = local_18c;
                        }
                      }
                    }
                  }
                }
              }
              else {
                uVar32 = (ulong)local_18c;
                if ((*(char *)((long)param_1 + 0x1e1) == '\0') || ((local_188[2] & 2) == 0))
                goto LAB_001daeca;
                uVar5 = *(undefined4 *)(lVar18 + uVar32 * 4);
                uVar6 = *(undefined4 *)(lVar17 + uVar32 * 4);
                FUN_001bde30(&local_a8,__s1);
                local_88 = uVar42;
                local_84 = CONCAT44(uVar5,uVar6);
                uStack_74 = *(undefined8 *)(puVar37 + 2);
                local_6c = *(undefined8 *)(puVar37 + 4);
                uStack_64 = *(undefined8 *)(puVar37 + 6);
                local_5c = *(undefined8 *)(puVar37 + 8);
                uStack_54 = *(undefined8 *)(puVar37 + 10);
                local_4c = *(undefined8 *)(puVar37 + 0xc);
                uStack_44 = *(undefined8 *)(puVar37 + 0xe);
                local_7c._0_4_ = (undefined4)*(undefined8 *)puVar37;
                local_7c = CONCAT44(uVar43,(undefined4)local_7c);
                    /* try { // try from 001db0af to 001db0b3 has its CatchHandler @ 001dc557 */
                FUN_001d6880(param_1 + 0x7a,&local_a8);
                if (local_a8 != auStack_98) {
                  FUN_002dac60();
                }
                *(undefined8 *)(*(long *)(param_1 + 0x14) + (ulong)local_18c * 8) = 2;
                *(undefined8 *)(*(long *)(param_1 + 0x38) + (ulong)local_18c * 8) =
                     0xffffffffffffffff;
                uVar42 = local_18c;
              }
            }
          }
          else if (local_170 == local_168) {
            FUN_00160c40(&local_178,local_170,&local_18c);
            uVar42 = local_18c;
          }
          else {
            *local_170 = local_18c;
            local_170 = local_170 + 1;
          }
        }
        else {
          cVar15 = FUN_001bdd20(param_1,__s1,local_18c,param_2);
          bVar45 = cVar15 == '\0';
          bVar46 = cVar15 == '\x01';
          if (bVar46) {
            bVar45 = false;
            bVar46 = cVar14 == '\0';
            if (bVar46) {
              if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc488 to 001dc48c has its CatchHandler @ 001dc59a */
                FUN_0017c650("../../gold/parameters.h",0x5c,"options");
              }
              bVar45 = false;
              bVar46 = *(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0';
              if (bVar46) {
                puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
                bVar45 = false;
                *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);
                bVar46 = *puVar19 == 0;
              }
            }
          }
          lVar28 = 0x10;
          pbVar38 = __s1;
          pbVar39 = (byte *)".note.GNU-stack";
          do {
            if (lVar28 == 0) break;
            lVar28 = lVar28 + -1;
            bVar45 = *pbVar38 < *pbVar39;
            bVar46 = *pbVar38 == *pbVar39;
            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
          } while (bVar46);
          if ((!bVar45 && !bVar46) == bVar45) {
            uVar10 = 1;
            local_238 = local_238 | *(ulong *)(local_188 + 2);
            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);
          }
          cVar15 = FUN_001bd330(param_1,__s1);
          uVar42 = local_18c;
          puVar11 = PTR_DAT_0043e6b0;
          bVar27 = (byte)local_18c;
          if ((cVar15 == '\x01') && (cVar14 == '\0')) {
            if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001dc458 to 001dc45c has its CatchHandler @ 001dc59a */
              FUN_0017c650("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x2a61) == '\0') {
              puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
              *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);
            }
          }
          if (*(long *)(puVar11 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/parameters.h",0x69,"target");
          }
          uVar32 = (ulong)local_18c;
          __s2 = *(char **)(*(long *)(*(long *)(puVar11 + 0x18) + 8) + 0x60);
          bVar45 = __s2 == (char *)0x0;
          if (!bVar45) {
            iVar16 = strcmp((char *)__s1,__s2);
            bVar45 = iVar16 == 0;
            if (!bVar45) goto LAB_001daf00;
LAB_001dabc4:
            puVar19 = (ulong *)((ulong)(uVar42 >> 3 & 0x1ffffff8) + (long)local_d8);
            *puVar19 = *puVar19 | 1L << (bVar27 & 0x3f);
            if (uVar43 != 7) goto LAB_001dabee;
LAB_001daf2c:
            bVar46 = uVar43 == 7;
            bVar45 = uVar43 < 7;
            lVar28 = 0x13;
            pbVar38 = __s1;
            pbVar39 = (byte *)".note.gnu.property";
            do {
              if (lVar28 == 0) break;
              lVar28 = lVar28 + -1;
              bVar45 = *pbVar38 < *pbVar39;
              bVar46 = *pbVar38 == *pbVar39;
              pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
              pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
            } while (bVar46);
            if ((!bVar45 && !bVar46) != bVar45) {
              bVar46 = (1L << (bVar27 & 0x3f) &
                       *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8)) == 0;
              bVar45 = !bVar46;
              if (bVar46) goto LAB_001dac20;
              goto LAB_001daf78;
            }
                    /* try { // try from 001db634 to 001db638 has its CatchHandler @ 001dc59a */
            FUN_001ca630(param_1,param_3,uVar32);
            uVar32 = (ulong)local_18c;
            puVar19 = (ulong *)((ulong)(local_18c >> 3 & 0x1ffffff8) + (long)local_d8);
            *puVar19 = *puVar19 | 1L << ((byte)local_18c & 0x3f);
            goto LAB_001dafa0;
          }
LAB_001daf00:
          bVar46 = false;
          lVar28 = 0x10;
          pbVar38 = __s1;
          pbVar39 = (byte *)".gnu.attributes";
          do {
            if (lVar28 == 0) break;
            lVar28 = lVar28 + -1;
            bVar46 = *pbVar38 < *pbVar39;
            bVar45 = *pbVar38 == *pbVar39;
            pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
            pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
          } while (bVar45);
          if ((!bVar46 && !bVar45) == bVar46) goto LAB_001dabc4;
          if (uVar43 == 7) goto LAB_001daf2c;
LAB_001dabee:
          bVar45 = (1L << (bVar27 & 0x3f) & *(ulong *)((long)local_d8 + (ulong)(uVar42 >> 6) * 8))
                   != 0;
          if (bVar45) {
LAB_001daf78:
            local_210 = *(long *)(param_3 + 0x378);
            if (local_210 == 0) {
              if (!bVar45) goto LAB_001da9c0;
            }
            else if (!bVar45) goto LAB_001dac76;
          }
          else {
            bVar45 = false;
            if (uVar43 != 0x11) {
LAB_001dac20:
              bVar46 = false;
              bVar47 = (*(byte *)((long)local_188 + 9) & 2) == 0;
              if (bVar47) {
                lVar28 = 0xd;
                pbVar38 = __s1;
                pbVar39 = (byte *)".gnu.linkonce";
                do {
                  if (lVar28 == 0) break;
                  lVar28 = lVar28 + -1;
                  bVar46 = *pbVar38 < *pbVar39;
                  bVar47 = *pbVar38 == *pbVar39;
                  pbVar38 = pbVar38 + (ulong)bVar48 * -2 + 1;
                  pbVar39 = pbVar39 + (ulong)bVar48 * -2 + 1;
                } while (bVar47);
                if (((!bVar46 && !bVar47) == bVar46) &&
                   (cVar15 = FUN_001ce980(param_1,param_3,uVar32,__s1,&local_188), cVar15 == '\0'))
                {
                  uVar32 = (ulong)local_18c;
                  goto LAB_001dafa0;
                }
              }
LAB_001dac4f:
              local_210 = *(long *)(param_3 + 0x378);
              if ((!bVar45) && (local_210 != 0)) {
LAB_001dac76:
                cVar15 = FUN_00183010(uVar43);
                if (cVar15 != '\0') {
                  uVar22 = *(undefined8 *)(local_188 + 8);
                  lVar28 = *(long *)(param_1 + 0x12);
                  if (lVar28 != 0) {
                    lVar20 = *(long *)(lVar28 + 0x10);
                    lVar29 = lVar28 + 8;
                    if (*(long *)(lVar28 + 0x10) != 0) {
                      do {
                        while (lVar30 = lVar20, *(uint *)(lVar30 + 0x20) < local_18c) {
                          plVar25 = (long *)(lVar30 + 0x18);
                          lVar20 = *plVar25;
                          lVar30 = lVar29;
                          if (*plVar25 == 0) goto LAB_001dacda;
                        }
                        lVar20 = *(long *)(lVar30 + 0x10);
                        lVar29 = lVar30;
                      } while (*(long *)(lVar30 + 0x10) != 0);
LAB_001dacda:
                      if ((lVar28 + 8 != lVar30) && (*(uint *)(lVar30 + 0x20) <= local_18c)) {
                        uVar22 = *(undefined8 *)(lVar30 + 0x28);
                      }
                    }
                  }
                  FUN_00183d90(local_210,param_1,local_18c,__s1,uVar22);
                }
              }
              goto LAB_001da9c0;
            }
                    /* try { // try from 001db6e7 to 001db6eb has its CatchHandler @ 001dc59a */
            cVar15 = FUN_001d4330(param_1,param_2,param_3,uVar32,__s1,local_1f0,local_1c0,local_1c8,
                                  local_270);
            if (cVar15 != '\0') {
              bVar45 = false;
              goto LAB_001dac4f;
            }
LAB_001db6f8:
            uVar32 = (ulong)local_18c;
          }
LAB_001dafa0:
          *(undefined8 *)(*(long *)(param_1 + 0x14) + uVar32 * 8) = 0;
          *(undefined8 *)(*(long *)(param_1 + 0x38) + uVar32 * 8) = 0xffffffffffffffff;
          uVar42 = (uint)uVar32;
        }
LAB_001daa92:
        local_18c = uVar42 + 1;
        puVar36 = puVar37 + 0x10;
        if (uVar2 <= local_18c) goto LAB_001da530;
        uVar32 = (ulong)*puVar36;
        uVar43 = puVar37[0x11];
        puVar37 = puVar36;
        local_188 = puVar36;
      } while (uVar32 < local_1c8);
    }
    uVar2 = local_18c;
    local_270 = &local_d8;
    uVar22 = gettext("bad section name offset for section %u: %lu");
    FUN_001bd150(param_1,uVar22,uVar2,uVar32);
    if (local_118 != (uint *)0x0) {
      FUN_002dac60();
    }
    if (local_138 != (uint *)0x0) {
      FUN_002dac60();
    }
    if (local_158 != (uint *)0x0) {
      FUN_002dac60();
    }
    if (local_178 != (uint *)0x0) {
      FUN_002dac60();
    }
    FUN_001d5cd0(local_270);
  }
  else if (!bVar8) {
    lVar28 = *param_4;
    if (lVar28 != 0) {
      FUN_0017a780(lVar28);
      thunk_FUN_002dac60(lVar28,0x18);
    }
    lVar28 = param_4[1];
    *param_4 = 0;
    if (lVar28 != 0) {
      FUN_0017a780(lVar28);
      thunk_FUN_002dac60(lVar28,0x18);
    }
    param_4[1] = 0;
  }
  FUN_002dac60(lVar18);
  FUN_002dac60(lVar17);
  return;
}

